in reply to Re^3: Faster locking
in thread Faster locking

Okay, so it works as expected:

Test code:

#!/usr/bin/perl use strict; use warnings; use Fcntl qw(:flock); open our $lockfile, '<', $0 || die $!; if ( (1 == 1) || (!flock $lockfile, LOCK_EX | LOCK_NB) ) { print "in loop\n"; sleep 30; if (flock $lockfile, LOCK_EX | LOCK_NB) { print "locked\n"; } else { print "not locked\n"; } sleep 30; }

First instance:

in loop locked

Second instance:

in loop not locked