summaryrefslogtreecommitdiff
path: root/lib/MCE/Core/Input
diff options
context:
space:
mode:
authorgregor herrmann <gregoa@debian.org>2022-10-11 18:03:44 +0200
committergregor herrmann <gregoa@debian.org>2022-10-11 18:03:44 +0200
commite79de27236c98a9c249461b860423e12868f6522 (patch)
treeb3ee3d3cff081c2c4e54f380117068fce69141e0 /lib/MCE/Core/Input
parent1018516619181607363e0ec4cffac8702ab9c8fd (diff)
New upstream version 1.880
Diffstat (limited to 'lib/MCE/Core/Input')
-rw-r--r--lib/MCE/Core/Input/Generator.pm4
-rw-r--r--lib/MCE/Core/Input/Handle.pm7
-rw-r--r--lib/MCE/Core/Input/Iterator.pm8
-rw-r--r--lib/MCE/Core/Input/Request.pm8
-rw-r--r--lib/MCE/Core/Input/Sequence.pm7
5 files changed, 20 insertions, 14 deletions
diff --git a/lib/MCE/Core/Input/Generator.pm b/lib/MCE/Core/Input/Generator.pm
index 8a0fffe..a42c38b 100644
--- a/lib/MCE/Core/Input/Generator.pm
+++ b/lib/MCE/Core/Input/Generator.pm
@@ -15,7 +15,7 @@ package MCE::Core::Input::Generator;
use strict;
use warnings;
-our $VERSION = '1.879';
+our $VERSION = '1.880';
## Items below are folded into MCE.
@@ -220,7 +220,7 @@ MCE::Core::Input::Generator - Sequence of numbers (for task_id > 0)
=head1 VERSION
-This document describes MCE::Core::Input::Generator version 1.879
+This document describes MCE::Core::Input::Generator version 1.880
=head1 DESCRIPTION
diff --git a/lib/MCE/Core/Input/Handle.pm b/lib/MCE/Core/Input/Handle.pm
index 229f288..1636411 100644
--- a/lib/MCE/Core/Input/Handle.pm
+++ b/lib/MCE/Core/Input/Handle.pm
@@ -14,7 +14,7 @@ package MCE::Core::Input::Handle;
use strict;
use warnings;
-our $VERSION = '1.879';
+our $VERSION = '1.880';
## Items below are folded into MCE.
@@ -48,6 +48,7 @@ sub _worker_read_handle {
_croak('MCE::_worker_read_handle: (user_func) is not specified')
unless (defined $self->{user_func});
+ my $_is_MSWin32 = ($^O eq 'MSWin32') ? 1 : 0;
my $_DAT_LOCK = $self->{_dat_lock};
my $_QUE_R_SOCK = $self->{_que_r_sock};
my $_QUE_W_SOCK = $self->{_que_w_sock};
@@ -69,6 +70,7 @@ sub _worker_read_handle {
$_DAT_LOCK = $self->{'_mutex_'.( $self->{_wid} % 5 + 1 )};
}
$_dat_ex = sub {
+ MCE::Util::_sock_ready($_DAT_LOCK->{_r_sock}) if $_is_MSWin32;
MCE::Util::_sysread($_DAT_LOCK->{_r_sock}, my($b), 1), $_DAT_LOCK->{ $_pid } = 1
unless $_DAT_LOCK->{ $_pid };
};
@@ -110,6 +112,7 @@ sub _worker_read_handle {
## Obtain the next chunk_id and offset position.
$_dat_ex->() if $_lock_chn;
+ MCE::Util::_sock_ready($_QUE_R_SOCK) if $_is_MSWin32;
MCE::Util::_sysread($_QUE_R_SOCK, $_next, $_que_read_size);
($_chunk_id, $_offset_pos) = unpack($_que_template, $_next);
@@ -280,7 +283,7 @@ MCE::Core::Input::Handle - File path and Scalar reference input reader
=head1 VERSION
-This document describes MCE::Core::Input::Handle version 1.879
+This document describes MCE::Core::Input::Handle version 1.880
=head1 DESCRIPTION
diff --git a/lib/MCE/Core/Input/Iterator.pm b/lib/MCE/Core/Input/Iterator.pm
index 9417e92..b0666e5 100644
--- a/lib/MCE/Core/Input/Iterator.pm
+++ b/lib/MCE/Core/Input/Iterator.pm
@@ -14,7 +14,7 @@ package MCE::Core::Input::Iterator;
use strict;
use warnings;
-our $VERSION = '1.879';
+our $VERSION = '1.880';
## Items below are folded into MCE.
@@ -29,8 +29,6 @@ no warnings qw( threads recursion uninitialized );
##
###############################################################################
-my $_is_MSWin32 = ( $^O eq 'MSWin32' ) ? 1 : 0;
-
sub _worker_user_iterator {
my ($self) = @_;
@@ -40,6 +38,7 @@ sub _worker_user_iterator {
_croak('MCE::_worker_user_iterator: (user_func) is not specified')
unless (defined $self->{user_func});
+ my $_is_MSWin32 = ($^O eq 'MSWin32') ? 1 : 0;
my $_chn = $self->{_chn};
my $_DAT_LOCK = $self->{_dat_lock};
my $_DAT_W_SOCK = $self->{_dat_w_sock}->[0];
@@ -55,6 +54,7 @@ sub _worker_user_iterator {
# inlined for performance
$_dat_ex = sub {
+ MCE::Util::_sock_ready($_DAT_LOCK->{_r_sock}) if $_is_MSWin32;
MCE::Util::_sysread($_DAT_LOCK->{_r_sock}, my($b), 1), $_DAT_LOCK->{ $_pid } = 1
unless $_DAT_LOCK->{ $_pid };
};
@@ -128,7 +128,7 @@ MCE::Core::Input::Iterator - Iterator reader
=head1 VERSION
-This document describes MCE::Core::Input::Iterator version 1.879
+This document describes MCE::Core::Input::Iterator version 1.880
=head1 DESCRIPTION
diff --git a/lib/MCE/Core/Input/Request.pm b/lib/MCE/Core/Input/Request.pm
index 1d0ca24..3fb88dc 100644
--- a/lib/MCE/Core/Input/Request.pm
+++ b/lib/MCE/Core/Input/Request.pm
@@ -14,7 +14,7 @@ package MCE::Core::Input::Request;
use strict;
use warnings;
-our $VERSION = '1.879';
+our $VERSION = '1.880';
## Items below are folded into MCE.
@@ -29,8 +29,6 @@ no warnings qw( threads recursion uninitialized );
##
###############################################################################
-my $_is_MSWin32 = ( $^O eq 'MSWin32' ) ? 1 : 0;
-
sub _worker_request_chunk {
my ($self, $_proc_type) = @_;
@@ -40,6 +38,7 @@ sub _worker_request_chunk {
_croak('MCE::_worker_request_chunk: (user_func) is not specified')
unless (defined $self->{user_func});
+ my $_is_MSWin32 = ($^O eq 'MSWin32') ? 1 : 0;
my $_chn = $self->{_chn};
my $_DAT_LOCK = $self->{_dat_lock};
my $_DAT_W_SOCK = $self->{_dat_w_sock}->[0];
@@ -57,6 +56,7 @@ sub _worker_request_chunk {
# inlined for performance
$_dat_ex = sub {
+ MCE::Util::_sock_ready($_DAT_LOCK->{_r_sock}) if $_is_MSWin32;
MCE::Util::_sysread($_DAT_LOCK->{_r_sock}, my($b), 1), $_DAT_LOCK->{ $_pid } = 1
unless $_DAT_LOCK->{ $_pid };
};
@@ -199,7 +199,7 @@ MCE::Core::Input::Request - Array reference and Glob reference input reader
=head1 VERSION
-This document describes MCE::Core::Input::Request version 1.879
+This document describes MCE::Core::Input::Request version 1.880
=head1 DESCRIPTION
diff --git a/lib/MCE/Core/Input/Sequence.pm b/lib/MCE/Core/Input/Sequence.pm
index ec37923..4db1460 100644
--- a/lib/MCE/Core/Input/Sequence.pm
+++ b/lib/MCE/Core/Input/Sequence.pm
@@ -14,7 +14,7 @@ package MCE::Core::Input::Sequence;
use strict;
use warnings;
-our $VERSION = '1.879';
+our $VERSION = '1.880';
## Items below are folded into MCE.
@@ -41,6 +41,7 @@ sub _worker_sequence_queue {
_croak('MCE::_worker_sequence_queue: (user_func) is not specified')
unless (defined $self->{user_func});
+ my $_is_MSWin32 = ($^O eq 'MSWin32') ? 1 : 0;
my $_DAT_LOCK = $self->{_dat_lock};
my $_QUE_R_SOCK = $self->{_que_r_sock};
my $_QUE_W_SOCK = $self->{_que_w_sock};
@@ -60,6 +61,7 @@ sub _worker_sequence_queue {
$_DAT_LOCK = $self->{'_mutex_'.( $self->{_wid} % 5 + 1 )};
}
$_dat_ex = sub {
+ MCE::Util::_sock_ready($_DAT_LOCK->{_r_sock}) if $_is_MSWin32;
MCE::Util::_sysread($_DAT_LOCK->{_r_sock}, my($b), 1), $_DAT_LOCK->{ $_pid } = 1
unless $_DAT_LOCK->{ $_pid };
};
@@ -97,6 +99,7 @@ sub _worker_sequence_queue {
## Obtain the next chunk_id and sequence number.
$_dat_ex->() if $_lock_chn;
+ MCE::Util::_sock_ready($_QUE_R_SOCK) if $_is_MSWin32;
MCE::Util::_sysread($_QUE_R_SOCK, $_next, $_que_read_size);
($_chunk_id, $_offset) = unpack($_que_template, $_next);
@@ -231,7 +234,7 @@ MCE::Core::Input::Sequence - Sequence of numbers (for task_id == 0)
=head1 VERSION
-This document describes MCE::Core::Input::Sequence version 1.879
+This document describes MCE::Core::Input::Sequence version 1.880
=head1 DESCRIPTION