+.TH MH-SEQUENCE %manext5% "January 9, 2001" "%nmhversion%"
.\"
.\" %nmhwarning%
.\"
-.TH MH-SEQUENCE %manext5% "%nmhdate%" MH.6.8 [%nmhversion%]
.SH NAME
mh-sequence \- sequence specification for nmh message system
.SH SYNOPSIS
has several internally
defined sequences, as well as allowing users to define their own
sequences.
-
.SS "Message Specification and Pre\-Defined Message Sequences"
Most
.B nmh
which is used by the
.B mhpath
command.
-
.SS "User\-Defined Message Sequences"
In addition to the \*(lqreserved\*(rq (pre-defined) message names given
above,
But if the folder is read\-only, or if
the \*(lqmh\-sequences\*(rq profile entry is defined but empty, then
\fIprivate\fR sequences will be created instead.
-
.SS "Sequence Negation"
.B Nmh
provides the ability to select all messages not elements of a
.PP
Obviously, the user should beware of defining sequences with names that
begin with the value of the \*(lqSequence\-Negation\*(rq profile entry.
-
.SS "The Previous Sequence"
.B Nmh
provides the ability to remember the `msgs' or `msg' argument
will write to the
.B \&.mh\(rusequences
file.
-
.SS "The Unseen Sequence"
Finally, many users like to indicate which messages have not been
previously seen by them. The commands
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
^<mh\-dir>/context~^The user context
^<folder>/\&.mh\(rusequences~^File for public sequences
.fi
-
.SH "PROFILE COMPONENTS"
.fc ^ ~
.nf
^Previous\-Sequence:~^The last message specification given
^Unseen\-Sequence:~^Those messages not yet seen by the user
.fi
-
.SH "SEE ALSO"
-flist(1), mark(1), pick(1), mh-profile(5)
-
+.IR flist (1),
+.IR mark (1),
+.IR pick (1),
+.IR mh-profile (5)
.SH DEFAULTS
None