8 #include "wvlockfile.h"
13 WvLockFile::WvLockFile(WvStringParm _lockname)
23 return !pid || pid == getpid();
32 WvFile lock(lockname, O_WRONLY|O_CREAT|O_EXCL);
36 lock.print(
"%s\n", getpid());
56 WvString lockdir(getdirname(lockname));
58 if (access(lockdir, W_OK) < 0
59 || (!access(lockname, F_OK) && access(lockname, R_OK) < 0))
64 line =
lock.blocking_getline(-1);
68 if (pid != -1 && kill(pid, 0) < 0 && errno == ESRCH)