diff options
author | gregor herrmann <gregoa@debian.org> | 2019-01-30 21:11:51 +0100 |
---|---|---|
committer | gregor herrmann <gregoa@debian.org> | 2019-01-30 21:11:51 +0100 |
commit | ced942ca55cb90ddce354f56c6696bb34ba8c2ff (patch) | |
tree | dcbe438f0e8d80c0660b0a2ca54f875083ee5073 /lib/MCE/Mutex | |
parent | 194a3db94621a414966aa3089c1b2496fe13fd19 (diff) |
New upstream version 1.838
Diffstat (limited to 'lib/MCE/Mutex')
-rw-r--r-- | lib/MCE/Mutex/Channel.pm | 17 | ||||
-rw-r--r-- | lib/MCE/Mutex/Flock.pm | 4 |
2 files changed, 11 insertions, 10 deletions
diff --git a/lib/MCE/Mutex/Channel.pm b/lib/MCE/Mutex/Channel.pm index f5e8180..f74d798 100644 --- a/lib/MCE/Mutex/Channel.pm +++ b/lib/MCE/Mutex/Channel.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized once ); -our $VERSION = '1.837'; +our $VERSION = '1.838'; use base 'MCE::Mutex'; use Scalar::Util qw(refaddr weaken); @@ -29,7 +29,8 @@ sub CLONE { sub DESTROY { my ($pid, $obj) = ($has_threads ? $$ .'.'. $tid : $$, @_); - syswrite($obj->{_w_sock}, '0'), $obj->{ $pid } = 0 if $obj->{ $pid }; + MCE::Util::_syswrite($obj->{_w_sock}, '0'), $obj->{ $pid } = 0 + if $obj->{ $pid }; if ($obj->{'_init_pid'} eq $pid) { my $addr = refaddr $obj; @@ -63,7 +64,7 @@ sub new { ? MCE::Util::_pipe_pair(\%obj, qw(_r_sock _w_sock)) : MCE::Util::_sock_pair(\%obj, qw(_r_sock _w_sock)); - 1 until syswrite($obj{_w_sock}, '0') || ($! && !$!{'EINTR'}); + MCE::Util::_syswrite($obj{_w_sock}, '0'); if (caller !~ /^MCE:?/ || caller(1) !~ /^MCE:?/) { push(@MUTEX, \%obj); weaken($MUTEX[-1]); @@ -75,7 +76,7 @@ sub new { sub lock { my ($pid, $obj) = ($has_threads ? $$ .'.'. $tid : $$, @_); - sysread($obj->{_r_sock}, my($b), 1), $obj->{ $pid } = 1 + MCE::Util::_sysread($obj->{_r_sock}, my($b), 1), $obj->{ $pid } = 1 unless $obj->{ $pid }; return; @@ -87,7 +88,7 @@ sub lock { sub unlock { my ($pid, $obj) = ($has_threads ? $$ .'.'. $tid : $$, @_); - syswrite($obj->{_w_sock}, '0'), $obj->{ $pid } = 0 + MCE::Util::_syswrite($obj->{_w_sock}, '0'), $obj->{ $pid } = 0 if $obj->{ $pid }; return; @@ -100,14 +101,14 @@ sub synchronize { return unless ref($code) eq 'CODE'; # lock, run, unlock - inlined for performance - sysread($obj->{_r_sock}, my($b), 1), $obj->{ $pid } = 1 + MCE::Util::_sysread($obj->{_r_sock}, my($b), 1), $obj->{ $pid } = 1 unless $obj->{ $pid }; (defined wantarray) ? @ret = wantarray ? $code->(@_) : scalar $code->(@_) : $code->(@_); - syswrite($obj->{_w_sock}, '0'), $obj->{ $pid } = 0; + MCE::Util::_syswrite($obj->{_w_sock}, '0'), $obj->{ $pid } = 0; return wantarray ? @ret : $ret[-1]; } @@ -130,7 +131,7 @@ MCE::Mutex::Channel - Mutex locking via a pipe or socket =head1 VERSION -This document describes MCE::Mutex::Channel version 1.837 +This document describes MCE::Mutex::Channel version 1.838 =head1 DESCRIPTION diff --git a/lib/MCE/Mutex/Flock.pm b/lib/MCE/Mutex/Flock.pm index d1a60ee..5c56c47 100644 --- a/lib/MCE/Mutex/Flock.pm +++ b/lib/MCE/Mutex/Flock.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized once ); -our $VERSION = '1.837'; +our $VERSION = '1.838'; use base 'MCE::Mutex'; use Fcntl ':flock'; @@ -186,7 +186,7 @@ MCE::Mutex::Flock - Mutex locking via Fcntl =head1 VERSION -This document describes MCE::Mutex::Flock version 1.837 +This document describes MCE::Mutex::Flock version 1.838 =head1 DESCRIPTION |