warn "Creating $lock_file\n" if $Debug;
open(LOCKFILE,">$lock_file") or die "can't open $lock_file: $!";
+close LOCKFILE;
warn "Creating $socket\n" if $Debug;
my $uaddr = sockaddr_un($socket);
open(PIDFILE,"<$pid_file");
my $old_pid = <PIDFILE>;
close PIDFILE;
- $old_pid =~ /^(\d+)$/;
- kill 'TERM', $1;
+ if ( $old_pid =~ /^(\d+)$/ ) {
+ kill 'TERM', $1;
+ }
}
open(PIDFILE,">$pid_file");
print PIDFILE "$$\n";
#broken on freebsd?
#flock(STDOUT, LOCK_EX) or die "FATAL: can't lock write stream: $!";
+ #open a new one for each kid to get a unique lock
+ open(LOCKFILE,">$lock_file") or die "can't open $lock_file: $!";
+
flock(LOCKFILE, LOCK_EX) or die "FATAL: can't lock $lock_file: $!";
}