use Fcntl ':flock'; use diagnostics; my @sw_lockarray; use vars qw($verbose); sub lock_file { my $filename=shift; my $lock; if (! open($lock, "> $filename")) { print "ERROR: Can't open lockfile $filename: $!\n"; return(0); } if (flock($lock, LOCK_EX | LOCK_NB)) { print "Lock erhalten\n" if $verbose; push(@sw_lockarray, $lock); print($lock "$$\n"); chmod 0666, $filename; return(1); } else { warn "Lock $filename nicht erhalten\n"; return(0); } }