nmh-workers
[Top] [All Lists]

[Nmh-workers] New lock code committed

2013-03-21 16:55:15
Everyone,

I've merged into master the newlock branch, which contained the discussed
changes to the nmh locking code.

Specifically, nmh now supports what I'm calling "transaction" locks,
locks which can persist between function calls.  This allows locks to
maintain consistency during nmh operations.  Also, read and write
locks are used when appropriate (but it turns out this isn't a huge
gain, since most programs end up holding a write lock).

inc and pick now have some special logic in them so that they don't
hold a lock while they're running, just when they update the sequence
file (they reread the sequence file so no changes are lost).

The lock algorithms selection now distinguishes between spool file locks
and data locks; both locks are now run-time configurable (via mts.conf
for the spool file and the profile for data locks).

Unfortunately, the current code in nmh made it too difficult to support
transaction locks on the context.  This means that transaction locks
won't be supported for private sequences.  The context will still be
locked during reads and writes and thus won't be corrupted, but it's
possible that sequence entries could be lost.  This problem existed
before, so this isn't a regression.  Maybe someday that could be
fixed, but not today.

--Ken

_______________________________________________
Nmh-workers mailing list
Nmh-workers(_at_)nongnu(_dot_)org
https://lists.nongnu.org/mailman/listinfo/nmh-workers

<Prev in Thread] Current Thread [Next in Thread>
  • [Nmh-workers] New lock code committed, Ken Hornstein <=