== Quote from Sean Kelly ([email protected])'s article > dsimcha wrote: > > Is there an easy way to write a function, or a function already written for > > me, that will allow for a file shared between processes to be appended to > > safely? This should be done in a way that will make it impossible for two > > processes to write to it at the same time, using locking, and should be > > platform-independent. > > > > Performance does not matter because, in the use case I have, we're only > > talking about one update every few minutes. Simplicity, however, does > > matter. > > All I'm trying to do is run a simulation thousands of times on a bunch of > > different computers sharing an NFS file system and have all of the results > > end > > up in one nice plain text file instead of having each instance write to its > > own file and having to keep track of them and piece them together by hand. > Use a second file to represent the lock, with the contents as the lock > owner. While the file exists, poll. When it's not there, create it and > write the process id into it, then unlink the file when you're done.
Wouldn't you have to somehow atomically poll and create the file? What if some other process created the lock file between your call of exists() and write()?
