summaryrefslogtreecommitdiff
path: root/lib/MCE/Mutex
diff options
context:
space:
mode:
authorgregor herrmann <gregoa@debian.org>2019-01-30 21:11:51 +0100
committergregor herrmann <gregoa@debian.org>2019-01-30 21:11:51 +0100
commitced942ca55cb90ddce354f56c6696bb34ba8c2ff (patch)
treedcbe438f0e8d80c0660b0a2ca54f875083ee5073 /lib/MCE/Mutex
parent194a3db94621a414966aa3089c1b2496fe13fd19 (diff)
New upstream version 1.838
Diffstat (limited to 'lib/MCE/Mutex')
-rw-r--r--lib/MCE/Mutex/Channel.pm17
-rw-r--r--lib/MCE/Mutex/Flock.pm4
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