update_daemon2: fix locking

This commit is contained in:
Andrew Dolgov 2008-01-23 12:43:11 +01:00
parent 0bd6e68a85
commit 884c0a367b
1 changed files with 13 additions and 4 deletions

View File

@ -32,13 +32,22 @@
pcntl_signal(SIGCHLD, 'sigchld_handler'); pcntl_signal(SIGCHLD, 'sigchld_handler');
pcntl_signal(SIGINT, 'sigint_handler'); pcntl_signal(SIGINT, 'sigint_handler');
$lock_handle = make_lockfile("update_daemon.lock"); if (file_is_locked("update_daemon.lock")) {
die("error: Can't create lockfile. ".
if (!$lock_handle) {
die("error: Can't create lockfile ($lock_filename). ".
"Maybe another daemon is already running.\n"); "Maybe another daemon is already running.\n");
} }
if (!pcntl_fork()) {
$lock_handle = make_lockfile("update_daemon.lock");
if (!$lock_handle) {
die("error: Can't create lockfile. ".
"Maybe another daemon is already running.\n");
}
while (true) { sleep(100); }
}
while (true) { while (true) {
$next_spawn = $last_checkpoint + SPAWN_INTERVAL - time(); $next_spawn = $last_checkpoint + SPAWN_INTERVAL - time();