66
68
# TODO: $self->jittery_one_second_sleep();?
68
70
dbg("locker: safe_lock: trying to get lock on $path with $retries retries");
70
74
dbg("locker: safe_lock: link to $lock_file: sysopen ok");
74
78
my @stat = stat($lock_file);
75
81
# check age of lockfile ctime
76
82
my $age = ($#stat < 11 ? undef : $stat[10]);
77
83
if ((!defined($age) && $retries > $max_retries / 2) ||
78
84
(defined($age) && (time - $age > LOCK_MAX_AGE)))
80
86
dbg("locker: safe_lock: breaking stale lock: $lock_file");