version 1.65, 2013/03/25 11:38:57 |
version 1.66, 2013/04/22 08:42:19 |
|
|
if ((lockfd = open(lockfile, O_WRONLY|O_CREAT, 0600)) == -1) |
if ((lockfd = open(lockfile, O_WRONLY|O_CREAT, 0600)) == -1) |
fatal("open failed"); |
fatal("open failed"); |
|
|
if (flock(lockfd, LOCK_EX|LOCK_NB) == -1 && errno == EWOULDBLOCK) { |
if (lockf(lockfd, F_TLOCK, 0) == -1 && errno == EAGAIN) { |
while (flock(lockfd, LOCK_EX) == -1 && errno == EINTR) |
while (lockf(lockfd, F_LOCK, 0) == -1 && errno == EINTR) |
/* nothing */; |
/* nothing */; |
close(lockfd); |
close(lockfd); |
return (-1); |
return (-1); |