line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package IO::File::flock; |
2
|
1
|
|
|
1
|
|
1847
|
use strict; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
45
|
|
3
|
1
|
|
|
1
|
|
6
|
use base qw(IO::File::Lockable); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
90
|
|
4
|
1
|
|
|
1
|
|
5
|
use vars qw($VERSION); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
47
|
|
5
|
1
|
|
|
1
|
|
5
|
use Fcntl qw(:flock); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
513
|
|
6
|
|
|
|
|
|
|
$VERSION = '0.31'; |
7
|
|
|
|
|
|
|
##### flock oop i/f |
8
|
8
|
|
|
8
|
0
|
65
|
sub flock_ :method {CORE::flock(shift,shift)} |
9
|
|
|
|
|
|
|
sub flock :method { |
10
|
8
|
|
|
8
|
1
|
11
|
my $fh = shift; |
11
|
8
|
|
|
|
|
10
|
my $lock = shift; |
12
|
8
|
|
50
|
|
|
36
|
my $timeout = shift || 0; |
13
|
8
|
50
|
|
|
|
30
|
return $fh unless($fh->opened); |
14
|
8
|
|
|
8
|
|
91
|
return $fh->set_timeout($timeout => sub {flock_($fh,$lock);$fh}); |
|
8
|
|
|
|
|
13
|
|
|
8
|
|
|
|
|
22
|
|
15
|
|
|
|
|
|
|
} |
16
|
|
|
|
|
|
|
##### flock easy i/f |
17
|
0
|
|
|
0
|
1
|
0
|
sub lock_nb :method {shift()->flock(LOCK_EX|LOCK_NB,@_)} |
18
|
2
|
|
|
2
|
1
|
6
|
sub lock_sh :method {shift()->flock(LOCK_SH,@_)} |
19
|
2
|
|
|
2
|
1
|
7
|
sub lock_ex :method {shift()->flock(LOCK_EX,@_)} |
20
|
4
|
|
|
4
|
1
|
85
|
sub lock_un :method {shift()->flock(LOCK_UN,@_)} |
21
|
|
|
|
|
|
|
1; |
22
|
|
|
|
|
|
|
__END__ |