Quote:
Originally Posted by llamabeast
Er, NFS? Knowledge fail by me.
It only runs one game at a time, although I didn't quite follow that about the lock flags. It just makes a file when it starts hosting, and deletes it when it's finished, and only starts if the file doesn't already exist. There's actually like a bazillion checks and stuff in there, added incrementally to make things more robust. Still, suggestions are always welcome.
No crashes over the last 7 or 8 hostings. Could it be... working? Who can say? Presumably it will go mad as soon as I go to bed.
|
I thought you might have network-mounted some additional drive space using NFS, since earlier you said it ran out. But if you're not sure, then it's pretty unlikely you're using it.
Using open() just makes the file existence check and creation atomic. You can probably do it from perl or php or some other scripting lang.
If you've just got a script that does
Code:
if [ ! -f mylockfile ]
then
touch mylockfile
do stuff
rm mylockfile
fi
Then there is a chance two copies can execute at the same time if both do the check first before touching the lock file.
And when the first one finishes, it will remove the lock file while the other is still running, allowing another to start, etc.
But it would be a really rare problem I think, so it's unlikely to have caused what you're dealing with now.