my $lck = "/var/lock/LCK..".$dev;
return 0 if -f $lck;
- # TODO determine whether lock is stale
+ # TODO determine whether lock is stale and try to override it
unless (open(LF, "+>$lck")) {
carp "cannot open $lck";
my $rv=0;
if (flock(LF, LOCK_EX)) {
- print LF "$$ $0 $<\n";
+ my $me = $0;
+ $me =~ s,.*/,,;
+ my $u = (getpwuid($<))[0];
+ printf LF "%05u %s %s\n",($$,$me,$u);
$rv=1;
} else {
carp "cannot flock $lck";