D
David Hirschfield
I'm not sure it's even possible to do what I'm trying to here...just
because the logistics may not really allow it, but I thought I'd ask
around...
I want some kind of lockfile implementation that will allow one process
to lock a file (or create an appropriately named lockfile that other
processes will find and understand the meaning of), but there are some
important requirements:
1. Multiple processes will be attempting to grab a lock on the file, and
they must not freeze up if they can't get a lock
2. The processes can be on different hosts on a network, attempting to
grab a lock on a file somewhere in network storage
3. All processes involved will know about the locking system, so no need
to worry about rogue processes that don't care about whatever setup we have
4. The locking process has to be "crash safe" such that if the process
that locked a file dies, the lock is released quickly, or other
processes can find out if the lock is held by a dead process and force a
release
I've tried a bunch of ideas, looked online, and still don't have a good
way to make a system that meets all the requirements above, but I'm not
too well-read on this kind of synchronicity problem.
Any good ideas?
Thanks in advance,
-David
because the logistics may not really allow it, but I thought I'd ask
around...
I want some kind of lockfile implementation that will allow one process
to lock a file (or create an appropriately named lockfile that other
processes will find and understand the meaning of), but there are some
important requirements:
1. Multiple processes will be attempting to grab a lock on the file, and
they must not freeze up if they can't get a lock
2. The processes can be on different hosts on a network, attempting to
grab a lock on a file somewhere in network storage
3. All processes involved will know about the locking system, so no need
to worry about rogue processes that don't care about whatever setup we have
4. The locking process has to be "crash safe" such that if the process
that locked a file dies, the lock is released quickly, or other
processes can find out if the lock is held by a dead process and force a
release
I've tried a bunch of ideas, looked online, and still don't have a good
way to make a system that meets all the requirements above, but I'm not
too well-read on this kind of synchronicity problem.
Any good ideas?
Thanks in advance,
-David