X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=fs_selfservice%2FFS-SelfService%2Ffreeside-selfservice-clientd;h=ededfa6e9b6bf0c67ca050d9106ab5336ff5eab1;hp=95e9b9b4fbb73304f138c7b9cc9f06a3a08c426b;hb=b6b73450dada235f94f7773a53079417dd219a4c;hpb=efccaa2d081bfcaaddcf9d89da3c2a065b4caafb diff --git a/fs_selfservice/FS-SelfService/freeside-selfservice-clientd b/fs_selfservice/FS-SelfService/freeside-selfservice-clientd index 95e9b9b4f..ededfa6e9 100644 --- a/fs_selfservice/FS-SelfService/freeside-selfservice-clientd +++ b/fs_selfservice/FS-SelfService/freeside-selfservice-clientd @@ -19,9 +19,10 @@ use IO::File; my $tag = scalar(@ARGV) ? '.'.shift : ''; use vars qw( $Debug ); -$Debug = 2; #2 will turn on child logging, 3 will log packet contents, - #including potentially compromising information, 4 will log - #receipts of all packets from server including keepalives (big!) +$Debug = 2; #2 will turn on child logging + #3 will log packet contents,#including passwords + #4 will log receipts of all packets from server including + # keepalives (big!) my $socket = "/usr/local/freeside/selfservice_socket$tag"; my $pid_file = "$socket.pid"; @@ -42,6 +43,7 @@ $SIG{__WARN__} = \&_logmsg; 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); @@ -255,6 +257,9 @@ sub lock_write { #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: $!"; }