Friday, June 08, 2007 by Dave Winer.
There are two applications running on the server, one writes into the folder and the other serves from the folder. The first is the OPML Editor, the second is Apache. (There actually are other apps on the server, but I don't think they're part of the problem I'm describing.)
This usually works fine, but one in 20 times (or so) there's trouble. When the editor tries to write the file, it gets an error, saying the file can't be accessed. When you try to access the file in a web browser (the home page of this site) you get an access error. (I'll link in a screen shot next time it happens.)
My current theory is that the OPML Editor is trying to write the file while Apache is reading it, and somehow this puts both programs into an untenable condition (the latter part is really confusing).
So I guess the question is this -- is there any way for an app running on the same machine to lock a file, like a semaphore, to basically wait until Apache isn't using the file, causing Apache to stand by until the semaphore clears. There must be some way to avoid this, other than the manual workaround I've found.