25014Re: [nslu2-linux] Re: Lockfiles
- Mar 3, 2012On 02/03/12 22:11, rolandkbs wrote:
> Creating a file and checking for its presence is not an atomic operation.Actually...
There's a long and honoured art of using the filesystem for locking,
using mkdir(2) and rmdir(2), like this:
while (mkdir("/tmp/lockfile", 0700) == -1) // try to take lock
// if mkdir failed, the lock is already taken, so wait and try
// lock now taken
... do something ...
rmdir("/tmp/lockfile"); // release lock
You can even do this from shell scripts; see lockfile(1).
Of course, named semaphores (see sem_open(3) for details) are better in
every possible way, but there are still cases (e.g. mailboxes, or doing
things from scripts) where the above approach is suitable.
┌─── ｄｇ＠ｃｏｗｌａｒｋ．ｃｏｍ ───── http://www.cowlark.com ─────
│ "Never attribute to malice what can be adequately explained by
│ stupidity." --- Nick Diamos (Hanlon's Razor)
- << Previous post in topic Next post in topic >>