I didn't look at the code. :-) I just thought that surely 42 is
open(2)'d with O_CREAT|O_EXCL so Unix annoints the race's winner.
Geez Ralph, how long have you been working with MH/nmh?? And don't
call me Shirley.
The long answer is:
- Programs will call m_draft() to get the name of the draft file. There
is locking there, but only to get the "new" sequence. It's easy for two
programs to get the same filename for "new".
- There is a check to see if the draft file exists, but there's no locking
there so it's easy to see how two programs could decide the same file
doesn't exist.
- The file is created with creat(), which as you know does get called with
O_CREAT, but does not include O_EXCL.
Really, the safest thing to do for Laura's case is to use the MH environment
variable to point to a new .mh_profile that has it's own Path that doesn't
stomp all over your personal mail directory.
--Ken
_______________________________________________
Nmh-workers mailing list
Nmh-workers(_at_)nongnu(_dot_)org
https://lists.nongnu.org/mailman/listinfo/nmh-workers