]> diplodocus.org Git - nmh/commitdiff
More documentation about locking changes.
authorKen Hornstein <kenh@pobox.com>
Thu, 21 Mar 2013 21:12:42 +0000 (17:12 -0400)
committerKen Hornstein <kenh@pobox.com>
Thu, 21 Mar 2013 21:12:42 +0000 (17:12 -0400)
docs/pending-release-notes
man/mh-profile.man
man/mh-sequence.man

index 94a62af35fc54ff58a07218ca2a7dd10b19ceda8..3ff8fbd909886c45538962a23c34b8c1c32147d0 100644 (file)
@@ -44,6 +44,7 @@ NEW FEATURES
 - A new program, fmttest(1) is included to help debug format files
 - mhshow/mhstore now have support for RFC-2017 (access-type=url) for
   external message bodies.
+- All nmh commands now support transactional locking for sequence files.
 
 ----------------------------
 OBSOLETE/DEPRECATED FEATURES
index 38dafb8035192049badb59856ffabd749ee6cdd5..75bea09d4d8588fe6bc97369b793ce9319d3bb63 100644 (file)
@@ -204,7 +204,10 @@ any one of the following entries:
 .RE
 .PP
 Available locking algorithms can vary depending on what is supported by
-the operating system.
+the operating system.  Note: currently transactional locking is only
+supported on public sequences; see
+.IR mh\-sequence (5)
+for more information.
 (profile, default: fcntl)
 .RE
 .PP
index f48f80d64257c1fe4307e3357105456338832cf1..c47b02b7c43a3e0a944e8e9d1c23a662bcaa396f 100644 (file)
@@ -254,6 +254,36 @@ or
 displays a message, that message will be removed from
 any sequences named by the \*(lqUnseen\-Sequence\*(rq entry in the
 profile.
+.SS Sequence File Locking
+The \*(lqdatalocking\*(rq profile entry controls the type of locking used
+when reading and writing sequence files.  The locking mechanisms supported
+are detailed in
+.IR mh\-profile (5).
+This protects sequence file integrity when multiple
+.B nmh
+commands are run simultaneously.
+.B Nmh
+commands that modify the sequence file use transactional locks; the lock
+is held from the time the sequence file is read until it it written out.
+This ensures that modifications to the sequence file will not be lost
+if multiple commands are run simultaneously.  Long\-running
+.B nmh
+commands, such as
+.B inc
+and
+.BR pick ,
+will release the sequence lock during the bulk of their runtime and reread
+the sequence file after their processing is complete to reduce lock
+contention time.
+.PP
+.B Note:
+Currently transactional locks are
+.B only
+supported for public sequences; private sequences will not get corrupted, but
+the possibility exists that two
+.B nmh
+commands run simultaneously that add messages to a private sequence could result in
+one command's messages not appearing on the requested sequence.
 .SH FILES
 .fc ^ ~
 .nf