>Basically, it opens a file and attempts to obtain an exclusive lock the >file descriptor for that file. If/when it successfully obtains the >exclusive lock it then uses exec() to execute a new process, and that >new process inherits the open file descriptor. As long as that process >leaves the file descriptor open, it continues to hold the lock on said >file which prevents any similarly invoked processes from running >concurrently. > >The lock goes away either when the file descriptor is intentionally >closed, or the process exits or crashes.
Ah, alright, I see how that works. And yes, as you note later on, this should actually be an improvement over current nmh behavior, at least in relation to programs that want to do this sort of thing. >Yes, I see what you mean---also, I didn't realize that the approach in >nmh was so varied, but then, I haven't looked at the sources in-depth. Yeah, consistency is not an nmh (nor MH) hallmark, sadly :-) --Ken -- nmh-workers https://lists.nongnu.org/mailman/listinfo/nmh-workers
