From 32702a90e894fd12a090a979f2164ea41b5a791b Mon Sep 17 00:00:00 2001 From: Mario Roy Date: Mon, 9 Sep 2024 20:36:41 -0400 Subject: [PATCH] 1.900 stable release for CPAN --- Changes | 4 ++ META.json | 68 ++++++++++++++++----------------- META.yml | 68 ++++++++++++++++----------------- Makefile.PL | 68 ++++++++++++++++----------------- README.md | 2 +- lib/MCE.pm | 2 +- lib/MCE.pod | 2 +- lib/MCE/Candy.pm | 4 +- lib/MCE/Channel.pm | 4 +- lib/MCE/Channel/Mutex.pm | 4 +- lib/MCE/Channel/MutexFast.pm | 4 +- lib/MCE/Channel/Simple.pm | 4 +- lib/MCE/Channel/SimpleFast.pm | 4 +- lib/MCE/Channel/Threads.pm | 4 +- lib/MCE/Channel/ThreadsFast.pm | 4 +- lib/MCE/Child.pm | 13 ++++--- lib/MCE/Core.pod | 2 +- lib/MCE/Core/Input/Generator.pm | 4 +- lib/MCE/Core/Input/Handle.pm | 4 +- lib/MCE/Core/Input/Iterator.pm | 4 +- lib/MCE/Core/Input/Request.pm | 4 +- lib/MCE/Core/Input/Sequence.pm | 4 +- lib/MCE/Core/Manager.pm | 4 +- lib/MCE/Core/Validation.pm | 4 +- lib/MCE/Core/Worker.pm | 4 +- lib/MCE/Examples.pod | 2 +- lib/MCE/Flow.pm | 4 +- lib/MCE/Grep.pm | 4 +- lib/MCE/Loop.pm | 4 +- lib/MCE/Map.pm | 4 +- lib/MCE/Mutex.pm | 4 +- lib/MCE/Mutex/Channel.pm | 4 +- lib/MCE/Mutex/Channel2.pm | 4 +- lib/MCE/Mutex/Flock.pm | 4 +- lib/MCE/Queue.pm | 4 +- lib/MCE/Relay.pm | 4 +- lib/MCE/Signal.pm | 4 +- lib/MCE/Step.pm | 4 +- lib/MCE/Stream.pm | 4 +- lib/MCE/Subs.pm | 4 +- lib/MCE/Util.pm | 4 +- 41 files changed, 180 insertions(+), 175 deletions(-) diff --git a/Changes b/Changes index 30223a2..d33555a 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,10 @@ Revision history for Perl module MCE. +1.900 Mon Sep 09 20:30:00 EST 2024 + + * Improve MCE::Child exiting when signaled. + 1.899 Fri Sep 06 00:15:00 EST 2024 * Fix for MCE::Child and MCE::Channel signal anomaly #24. diff --git a/META.json b/META.json index 40e6e4f..fc8a93a 100644 --- a/META.json +++ b/META.json @@ -65,135 +65,135 @@ "provides" : { "MCE" : { "file" : "lib/MCE.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Candy" : { "file" : "lib/MCE/Candy.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Channel" : { "file" : "lib/MCE/Channel.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Channel::Mutex" : { "file" : "lib/MCE/Channel/Mutex.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Channel::MutexFast" : { "file" : "lib/MCE/Channel/MutexFast.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Channel::Simple" : { "file" : "lib/MCE/Channel/Simple.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Channel::SimpleFast" : { "file" : "lib/MCE/Channel/SimpleFast.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Channel::Threads" : { "file" : "lib/MCE/Channel/Threads.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Channel::ThreadsFast" : { "file" : "lib/MCE/Channel/ThreadsFast.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Child" : { "file" : "lib/MCE/Child.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Core::Input::Generator" : { "file" : "lib/MCE/Core/Input/Generator.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Core::Input::Handle" : { "file" : "lib/MCE/Core/Input/Handle.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Core::Input::Iterator" : { "file" : "lib/MCE/Core/Input/Iterator.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Core::Input::Request" : { "file" : "lib/MCE/Core/Input/Request.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Core::Input::Sequence" : { "file" : "lib/MCE/Core/Input/Sequence.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Core::Manager" : { "file" : "lib/MCE/Core/Manager.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Core::Validation" : { "file" : "lib/MCE/Core/Validation.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Core::Worker" : { "file" : "lib/MCE/Core/Worker.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Flow" : { "file" : "lib/MCE/Flow.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Grep" : { "file" : "lib/MCE/Grep.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Loop" : { "file" : "lib/MCE/Loop.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Map" : { "file" : "lib/MCE/Map.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Mutex" : { "file" : "lib/MCE/Mutex.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Mutex::Channel" : { "file" : "lib/MCE/Mutex/Channel.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Mutex::Channel2" : { "file" : "lib/MCE/Mutex/Channel2.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Mutex::Flock" : { "file" : "lib/MCE/Mutex/Flock.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Queue" : { "file" : "lib/MCE/Queue.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Relay" : { "file" : "lib/MCE/Relay.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Signal" : { "file" : "lib/MCE/Signal.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Step" : { "file" : "lib/MCE/Step.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Stream" : { "file" : "lib/MCE/Stream.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Subs" : { "file" : "lib/MCE/Subs.pm", - "version" : "1.899" + "version" : "1.900" }, "MCE::Util" : { "file" : "lib/MCE/Util.pm", - "version" : "1.899" + "version" : "1.900" } }, "release_status" : "stable", @@ -209,5 +209,5 @@ "url" : "https://github.com/marioroy/mce-perl.git" } }, - "version" : "1.899" + "version" : "1.900" } diff --git a/META.yml b/META.yml index 7e9e3ef..f809d3f 100644 --- a/META.yml +++ b/META.yml @@ -25,103 +25,103 @@ no_index: provides: MCE: file: lib/MCE.pm - version: '1.899' + version: '1.900' MCE::Candy: file: lib/MCE/Candy.pm - version: '1.899' + version: '1.900' MCE::Channel: file: lib/MCE/Channel.pm - version: '1.899' + version: '1.900' MCE::Channel::Mutex: file: lib/MCE/Channel/Mutex.pm - version: '1.899' + version: '1.900' MCE::Channel::MutexFast: file: lib/MCE/Channel/MutexFast.pm - version: '1.899' + version: '1.900' MCE::Channel::Simple: file: lib/MCE/Channel/Simple.pm - version: '1.899' + version: '1.900' MCE::Channel::SimpleFast: file: lib/MCE/Channel/SimpleFast.pm - version: '1.899' + version: '1.900' MCE::Channel::Threads: file: lib/MCE/Channel/Threads.pm - version: '1.899' + version: '1.900' MCE::Channel::ThreadsFast: file: lib/MCE/Channel/ThreadsFast.pm - version: '1.899' + version: '1.900' MCE::Child: file: lib/MCE/Child.pm - version: '1.899' + version: '1.900' MCE::Core::Input::Generator: file: lib/MCE/Core/Input/Generator.pm - version: '1.899' + version: '1.900' MCE::Core::Input::Handle: file: lib/MCE/Core/Input/Handle.pm - version: '1.899' + version: '1.900' MCE::Core::Input::Iterator: file: lib/MCE/Core/Input/Iterator.pm - version: '1.899' + version: '1.900' MCE::Core::Input::Request: file: lib/MCE/Core/Input/Request.pm - version: '1.899' + version: '1.900' MCE::Core::Input::Sequence: file: lib/MCE/Core/Input/Sequence.pm - version: '1.899' + version: '1.900' MCE::Core::Manager: file: lib/MCE/Core/Manager.pm - version: '1.899' + version: '1.900' MCE::Core::Validation: file: lib/MCE/Core/Validation.pm - version: '1.899' + version: '1.900' MCE::Core::Worker: file: lib/MCE/Core/Worker.pm - version: '1.899' + version: '1.900' MCE::Flow: file: lib/MCE/Flow.pm - version: '1.899' + version: '1.900' MCE::Grep: file: lib/MCE/Grep.pm - version: '1.899' + version: '1.900' MCE::Loop: file: lib/MCE/Loop.pm - version: '1.899' + version: '1.900' MCE::Map: file: lib/MCE/Map.pm - version: '1.899' + version: '1.900' MCE::Mutex: file: lib/MCE/Mutex.pm - version: '1.899' + version: '1.900' MCE::Mutex::Channel: file: lib/MCE/Mutex/Channel.pm - version: '1.899' + version: '1.900' MCE::Mutex::Channel2: file: lib/MCE/Mutex/Channel2.pm - version: '1.899' + version: '1.900' MCE::Mutex::Flock: file: lib/MCE/Mutex/Flock.pm - version: '1.899' + version: '1.900' MCE::Queue: file: lib/MCE/Queue.pm - version: '1.899' + version: '1.900' MCE::Relay: file: lib/MCE/Relay.pm - version: '1.899' + version: '1.900' MCE::Signal: file: lib/MCE/Signal.pm - version: '1.899' + version: '1.900' MCE::Step: file: lib/MCE/Step.pm - version: '1.899' + version: '1.900' MCE::Stream: file: lib/MCE/Stream.pm - version: '1.899' + version: '1.900' MCE::Subs: file: lib/MCE/Subs.pm - version: '1.899' + version: '1.900' MCE::Util: file: lib/MCE/Util.pm - version: '1.899' + version: '1.900' recommends: Sereal::Decoder: '3.015' Sereal::Encoder: '3.015' @@ -148,4 +148,4 @@ resources: homepage: https://github.com/marioroy/mce-perl license: https://dev.perl.org/licenses/ repository: https://github.com/marioroy/mce-perl.git -version: '1.899' +version: '1.900' diff --git a/Makefile.PL b/Makefile.PL index fd70b88..acfde32 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -17,7 +17,7 @@ WriteMakefile( ABSTRACT => 'Many-Core Engine for Perl providing parallel processing capabilities', AUTHOR => 'Mario E. Roy ', NAME => 'MCE', - VERSION => '1.899', + VERSION => '1.900', EXE_FILES => [ @exe_files ], @@ -68,135 +68,135 @@ WriteMakefile( 'provides' => { 'MCE' => { 'file' => 'lib/MCE.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Candy' => { 'file' => 'lib/MCE/Candy.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Channel' => { 'file' => 'lib/MCE/Channel.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Channel::Mutex' => { 'file' => 'lib/MCE/Channel/Mutex.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Channel::MutexFast' => { 'file' => 'lib/MCE/Channel/MutexFast.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Channel::Simple' => { 'file' => 'lib/MCE/Channel/Simple.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Channel::SimpleFast' => { 'file' => 'lib/MCE/Channel/SimpleFast.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Channel::Threads' => { 'file' => 'lib/MCE/Channel/Threads.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Channel::ThreadsFast' => { 'file' => 'lib/MCE/Channel/ThreadsFast.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Child' => { 'file' => 'lib/MCE/Child.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Core::Input::Generator' => { 'file' => 'lib/MCE/Core/Input/Generator.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Core::Input::Handle' => { 'file' => 'lib/MCE/Core/Input/Handle.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Core::Input::Iterator' => { 'file' => 'lib/MCE/Core/Input/Iterator.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Core::Input::Request' => { 'file' => 'lib/MCE/Core/Input/Request.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Core::Input::Sequence' => { 'file' => 'lib/MCE/Core/Input/Sequence.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Core::Manager' => { 'file' => 'lib/MCE/Core/Manager.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Core::Validation' => { 'file' => 'lib/MCE/Core/Validation.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Core::Worker' => { 'file' => 'lib/MCE/Core/Worker.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Flow' => { 'file' => 'lib/MCE/Flow.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Grep' => { 'file' => 'lib/MCE/Grep.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Loop' => { 'file' => 'lib/MCE/Loop.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Map' => { 'file' => 'lib/MCE/Map.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Mutex' => { 'file' => 'lib/MCE/Mutex.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Mutex::Channel' => { 'file' => 'lib/MCE/Mutex/Channel.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Mutex::Channel2' => { 'file' => 'lib/MCE/Mutex/Channel2.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Mutex::Flock' => { 'file' => 'lib/MCE/Mutex/Flock.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Queue' => { 'file' => 'lib/MCE/Queue.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Relay' => { 'file' => 'lib/MCE/Relay.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Signal' => { 'file' => 'lib/MCE/Signal.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Step' => { 'file' => 'lib/MCE/Step.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Stream' => { 'file' => 'lib/MCE/Stream.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Subs' => { 'file' => 'lib/MCE/Subs.pm', - 'version' => '1.899' + 'version' => '1.900' }, 'MCE::Util' => { 'file' => 'lib/MCE/Util.pm', - 'version' => '1.899' + 'version' => '1.900' } }, 'prereqs' => { diff --git a/README.md b/README.md index 8078e72..5cd617b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ## Many-Core Engine for Perl -This document describes MCE version 1.899. +This document describes MCE version 1.900. Many-Core Engine (MCE) for Perl helps enable a new level of performance by maximizing all available cores. diff --git a/lib/MCE.pm b/lib/MCE.pm index 43ddf7b..2300d49 100644 --- a/lib/MCE.pm +++ b/lib/MCE.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) diff --git a/lib/MCE.pod b/lib/MCE.pod index a94bb8f..24f0b69 100644 --- a/lib/MCE.pod +++ b/lib/MCE.pod @@ -5,7 +5,7 @@ MCE - Many-Core Engine for Perl providing parallel processing capabilities =head1 VERSION -This document describes MCE version 1.899 +This document describes MCE version 1.900 Many-Core Engine (MCE) for Perl helps enable a new level of performance by maximizing all available cores. diff --git a/lib/MCE/Candy.pm b/lib/MCE/Candy.pm index 1a1908f..32ad6d6 100644 --- a/lib/MCE/Candy.pm +++ b/lib/MCE/Candy.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; our @CARP_NOT = qw( MCE ); @@ -266,7 +266,7 @@ MCE::Candy - Sugar methods and output iterators =head1 VERSION -This document describes MCE::Candy version 1.899 +This document describes MCE::Candy version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Channel.pm b/lib/MCE/Channel.pm index 2687547..eb663ae 100644 --- a/lib/MCE/Channel.pm +++ b/lib/MCE/Channel.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( uninitialized once ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (TestingAndDebugging::ProhibitNoStrict) @@ -131,7 +131,7 @@ MCE::Channel - Queue-like and two-way communication capability =head1 VERSION -This document describes MCE::Channel version 1.899 +This document describes MCE::Channel version 1.900 =head1 SYNOPSIS diff --git a/lib/MCE/Channel/Mutex.pm b/lib/MCE/Channel/Mutex.pm index 1ff1ce2..0afc1c7 100644 --- a/lib/MCE/Channel/Mutex.pm +++ b/lib/MCE/Channel/Mutex.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( uninitialized once ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; use base 'MCE::Channel'; use MCE::Mutex (); @@ -307,7 +307,7 @@ MCE::Channel::Mutex - Channel for producer(s) and many consumers =head1 VERSION -This document describes MCE::Channel::Mutex version 1.899 +This document describes MCE::Channel::Mutex version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Channel/MutexFast.pm b/lib/MCE/Channel/MutexFast.pm index 6dfd0dc..aa4d0ef 100644 --- a/lib/MCE/Channel/MutexFast.pm +++ b/lib/MCE/Channel/MutexFast.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( uninitialized once ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; use base 'MCE::Channel'; use MCE::Mutex (); @@ -311,7 +311,7 @@ MCE::Channel::MutexFast - Fast channel for producer(s) and many consumers =head1 VERSION -This document describes MCE::Channel::MutexFast version 1.899 +This document describes MCE::Channel::MutexFast version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Channel/Simple.pm b/lib/MCE/Channel/Simple.pm index 1776f90..6379409 100644 --- a/lib/MCE/Channel/Simple.pm +++ b/lib/MCE/Channel/Simple.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( uninitialized once ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; use base 'MCE::Channel'; @@ -292,7 +292,7 @@ MCE::Channel::Simple - Channel tuned for one producer and one consumer =head1 VERSION -This document describes MCE::Channel::Simple version 1.899 +This document describes MCE::Channel::Simple version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Channel/SimpleFast.pm b/lib/MCE/Channel/SimpleFast.pm index 5240289..c5151cb 100644 --- a/lib/MCE/Channel/SimpleFast.pm +++ b/lib/MCE/Channel/SimpleFast.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( uninitialized once ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; use base 'MCE::Channel'; @@ -300,7 +300,7 @@ MCE::Channel::SimpleFast - Fast channel tuned for one producer and one consumer =head1 VERSION -This document describes MCE::Channel::SimpleFast version 1.899 +This document describes MCE::Channel::SimpleFast version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Channel/Threads.pm b/lib/MCE/Channel/Threads.pm index e2df786..59c64e3 100644 --- a/lib/MCE/Channel/Threads.pm +++ b/lib/MCE/Channel/Threads.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( uninitialized once ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; use threads; use threads::shared; @@ -315,7 +315,7 @@ MCE::Channel::Threads - Channel for producer(s) and many consumers =head1 VERSION -This document describes MCE::Channel::Threads version 1.899 +This document describes MCE::Channel::Threads version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Channel/ThreadsFast.pm b/lib/MCE/Channel/ThreadsFast.pm index 66c941b..39fd80d 100644 --- a/lib/MCE/Channel/ThreadsFast.pm +++ b/lib/MCE/Channel/ThreadsFast.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( uninitialized once ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; use threads; use threads::shared; @@ -321,7 +321,7 @@ MCE::Channel::ThreadsFast - Fast channel for producer(s) and many consumers =head1 VERSION -This document describes MCE::Channel::ThreadsFast version 1.899 +This document describes MCE::Channel::ThreadsFast version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Child.pm b/lib/MCE/Child.pm index f7a8c35..758a934 100644 --- a/lib/MCE/Child.pm +++ b/lib/MCE/Child.pm @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized once redefine ); package MCE::Child; -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitExplicitReturnUndef) @@ -339,7 +339,7 @@ sub exit { return $self if $self->{REAPED}; - if ( exists $_DATA->{$pkg} ) { + if ( defined $_DATA->{$pkg} ) { sleep $_yield_secs until $_DATA->{$pkg}->exists('S'.$wrk_id); } else { sleep 0.030; @@ -465,7 +465,7 @@ sub kill { } if ( $self->{MGR_ID} eq "$$.$_tid" ) { return $self if $self->{REAPED}; - if ( exists $_DATA->{$pkg} ) { + if ( defined $_DATA->{$pkg} ) { sleep $_yield_secs until $_DATA->{$pkg}->exists('S'.$wrk_id); } else { sleep 0.030; @@ -698,11 +698,12 @@ sub _exit { $SIG{__WARN__} = sub {}; threads->exit($exit_status) if ( $INC{'threads.pm'} && $_is_MSWin32 ); + CORE::kill('KILL', $$) if ( $_SELF->{SIGNALED} && !$_is_MSWin32 ); my $posix_exit = ( exists $_SELF->{posix_exit} ) ? $_SELF->{posix_exit} : $_MNGD->{ $_SELF->{PKG} }{posix_exit}; - if ( $posix_exit && !$_SELF->{SIGNALED} && !$_is_MSWin32 ) { + if ( $posix_exit && !$_is_MSWin32 ) { eval { MCE::Mutex::Channel::_destroy() }; POSIX::_exit($exit_status) if $INC{'POSIX.pm'}; CORE::kill('KILL', $$); @@ -752,7 +753,7 @@ sub _quit { sub _reap_child { my ( $child, $wait_flag ) = @_; - return unless $child; + return if ( !$child || !defined $child->{PKG} ); local @_ = $_DATA->{ $child->{PKG} }->get($child->{WRK_ID}, $wait_flag); @@ -1022,7 +1023,7 @@ MCE::Child - A threads-like parallelization module compatible with Perl 5.8 =head1 VERSION -This document describes MCE::Child version 1.899 +This document describes MCE::Child version 1.900 =head1 SYNOPSIS diff --git a/lib/MCE/Core.pod b/lib/MCE/Core.pod index de9d64e..f662d73 100644 --- a/lib/MCE/Core.pod +++ b/lib/MCE/Core.pod @@ -5,7 +5,7 @@ MCE::Core - Documentation describing the core MCE API =head1 VERSION -This document describes MCE::Core version 1.899 +This document describes MCE::Core version 1.900 =head1 SYNOPSIS diff --git a/lib/MCE/Core/Input/Generator.pm b/lib/MCE/Core/Input/Generator.pm index d5dcb84..a7c4850 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.899'; +our $VERSION = '1.900'; ## 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.899 +This document describes MCE::Core::Input::Generator version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Core/Input/Handle.pm b/lib/MCE/Core/Input/Handle.pm index e3c40a5..e83e867 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.899'; +our $VERSION = '1.900'; ## Items below are folded into MCE. @@ -278,7 +278,7 @@ MCE::Core::Input::Handle - File path and Scalar reference input reader =head1 VERSION -This document describes MCE::Core::Input::Handle version 1.899 +This document describes MCE::Core::Input::Handle version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Core/Input/Iterator.pm b/lib/MCE/Core/Input/Iterator.pm index f40e690..0ef851f 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.899'; +our $VERSION = '1.900'; ## Items below are folded into MCE. @@ -129,7 +129,7 @@ MCE::Core::Input::Iterator - Iterator reader =head1 VERSION -This document describes MCE::Core::Input::Iterator version 1.899 +This document describes MCE::Core::Input::Iterator version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Core/Input/Request.pm b/lib/MCE/Core/Input/Request.pm index d356736..750eca9 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.899'; +our $VERSION = '1.900'; ## Items below are folded into MCE. @@ -200,7 +200,7 @@ MCE::Core::Input::Request - Array reference and Glob reference input reader =head1 VERSION -This document describes MCE::Core::Input::Request version 1.899 +This document describes MCE::Core::Input::Request version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Core/Input/Sequence.pm b/lib/MCE/Core/Input/Sequence.pm index 0f4e42e..1721cf4 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.899'; +our $VERSION = '1.900'; ## Items below are folded into MCE. @@ -229,7 +229,7 @@ MCE::Core::Input::Sequence - Sequence of numbers (for task_id == 0) =head1 VERSION -This document describes MCE::Core::Input::Sequence version 1.899 +This document describes MCE::Core::Input::Sequence version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Core/Manager.pm b/lib/MCE/Core/Manager.pm index 7eecad2..f57a25b 100644 --- a/lib/MCE/Core/Manager.pm +++ b/lib/MCE/Core/Manager.pm @@ -14,7 +14,7 @@ package MCE::Core::Manager; use strict; use warnings; -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (TestingAndDebugging::ProhibitNoStrict) @@ -1041,7 +1041,7 @@ MCE::Core::Manager - Core methods for the manager process =head1 VERSION -This document describes MCE::Core::Manager version 1.899 +This document describes MCE::Core::Manager version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Core/Validation.pm b/lib/MCE/Core/Validation.pm index da13e6d..ce0ba06 100644 --- a/lib/MCE/Core/Validation.pm +++ b/lib/MCE/Core/Validation.pm @@ -14,7 +14,7 @@ package MCE::Core::Validation; use strict; use warnings; -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## Items below are folded into MCE. @@ -402,7 +402,7 @@ MCE::Core::Validation - Core validation methods for Many-Core Engine =head1 VERSION -This document describes MCE::Core::Validation version 1.899 +This document describes MCE::Core::Validation version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Core/Worker.pm b/lib/MCE/Core/Worker.pm index d54fb37..ecd94ed 100644 --- a/lib/MCE/Core/Worker.pm +++ b/lib/MCE/Core/Worker.pm @@ -14,7 +14,7 @@ package MCE::Core::Worker; use strict; use warnings; -our $VERSION = '1.899'; +our $VERSION = '1.900'; my $_tid = $INC{'threads.pm'} ? threads->tid() : 0; @@ -738,7 +738,7 @@ MCE::Core::Worker - Core methods for the worker process =head1 VERSION -This document describes MCE::Core::Worker version 1.899 +This document describes MCE::Core::Worker version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Examples.pod b/lib/MCE/Examples.pod index 3a8f819..8a44a9f 100644 --- a/lib/MCE/Examples.pod +++ b/lib/MCE/Examples.pod @@ -5,7 +5,7 @@ MCE::Examples - Various examples and demonstrations =head1 VERSION -This document describes MCE::Examples version 1.899 +This document describes MCE::Examples version 1.900 =head1 INCLUDED WITH THE DISTRIBUTION diff --git a/lib/MCE/Flow.pm b/lib/MCE/Flow.pm index 3dda80a..f0712d7 100644 --- a/lib/MCE/Flow.pm +++ b/lib/MCE/Flow.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -495,7 +495,7 @@ MCE::Flow - Parallel flow model for building creative applications =head1 VERSION -This document describes MCE::Flow version 1.899 +This document describes MCE::Flow version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Grep.pm b/lib/MCE/Grep.pm index 72b391a..2622f51 100644 --- a/lib/MCE/Grep.pm +++ b/lib/MCE/Grep.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -466,7 +466,7 @@ MCE::Grep - Parallel grep model similar to the native grep function =head1 VERSION -This document describes MCE::Grep version 1.899 +This document describes MCE::Grep version 1.900 =head1 SYNOPSIS diff --git a/lib/MCE/Loop.pm b/lib/MCE/Loop.pm index 704035b..a97ca68 100644 --- a/lib/MCE/Loop.pm +++ b/lib/MCE/Loop.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -377,7 +377,7 @@ MCE::Loop - MCE model for building parallel loops =head1 VERSION -This document describes MCE::Loop version 1.899 +This document describes MCE::Loop version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Map.pm b/lib/MCE/Map.pm index 4f2c000..80e7351 100644 --- a/lib/MCE/Map.pm +++ b/lib/MCE/Map.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -466,7 +466,7 @@ MCE::Map - Parallel map model similar to the native map function =head1 VERSION -This document describes MCE::Map version 1.899 +This document describes MCE::Map version 1.900 =head1 SYNOPSIS diff --git a/lib/MCE/Mutex.pm b/lib/MCE/Mutex.pm index 789a39d..b97a4fc 100644 --- a/lib/MCE/Mutex.pm +++ b/lib/MCE/Mutex.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (TestingAndDebugging::ProhibitNoStrict) @@ -64,7 +64,7 @@ MCE::Mutex - Locking for Many-Core Engine =head1 VERSION -This document describes MCE::Mutex version 1.899 +This document describes MCE::Mutex version 1.900 =head1 SYNOPSIS diff --git a/lib/MCE/Mutex/Channel.pm b/lib/MCE/Mutex/Channel.pm index 3ea958e..77c5ec7 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.899'; +our $VERSION = '1.900'; use if $^O eq 'MSWin32', 'threads'; use if $^O eq 'MSWin32', 'threads::shared'; @@ -187,7 +187,7 @@ MCE::Mutex::Channel - Mutex locking via a pipe or socket =head1 VERSION -This document describes MCE::Mutex::Channel version 1.899 +This document describes MCE::Mutex::Channel version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Mutex/Channel2.pm b/lib/MCE/Mutex/Channel2.pm index 5e7fb55..60ff590 100644 --- a/lib/MCE/Mutex/Channel2.pm +++ b/lib/MCE/Mutex/Channel2.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized once ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; use if $^O eq 'MSWin32', 'threads'; use if $^O eq 'MSWin32', 'threads::shared'; @@ -154,7 +154,7 @@ MCE::Mutex::Channel2 - Provides two mutexes using a single channel =head1 VERSION -This document describes MCE::Mutex::Channel2 version 1.899 +This document describes MCE::Mutex::Channel2 version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Mutex/Flock.pm b/lib/MCE/Mutex/Flock.pm index de750fc..5ca084d 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.899'; +our $VERSION = '1.900'; use base 'MCE::Mutex'; use Fcntl ':flock'; @@ -211,7 +211,7 @@ MCE::Mutex::Flock - Mutex locking via Fcntl =head1 VERSION -This document describes MCE::Mutex::Flock version 1.899 +This document describes MCE::Mutex::Flock version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Queue.pm b/lib/MCE/Queue.pm index 239b21f..8f5d266 100644 --- a/lib/MCE/Queue.pm +++ b/lib/MCE/Queue.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (Subroutines::ProhibitExplicitReturnUndef) ## no critic (TestingAndDebugging::ProhibitNoStrict) @@ -1506,7 +1506,7 @@ MCE::Queue - Hybrid (normal and priority) queues =head1 VERSION -This document describes MCE::Queue version 1.899 +This document describes MCE::Queue version 1.900 =head1 SYNOPSIS diff --git a/lib/MCE/Relay.pm b/lib/MCE/Relay.pm index 47bf1ab..08495ac 100644 --- a/lib/MCE/Relay.pm +++ b/lib/MCE/Relay.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized numeric ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -368,7 +368,7 @@ MCE::Relay - Extends Many-Core Engine with relay capabilities =head1 VERSION -This document describes MCE::Relay version 1.899 +This document describes MCE::Relay version 1.900 =head1 SYNOPSIS diff --git a/lib/MCE/Signal.pm b/lib/MCE/Signal.pm index a0b40fe..96234b7 100644 --- a/lib/MCE/Signal.pm +++ b/lib/MCE/Signal.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized once ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (BuiltinFunctions::ProhibitStringyEval) @@ -445,7 +445,7 @@ MCE::Signal - Temporary directory creation/cleanup and signal handling =head1 VERSION -This document describes MCE::Signal version 1.899 +This document describes MCE::Signal version 1.900 =head1 SYNOPSIS diff --git a/lib/MCE/Step.pm b/lib/MCE/Step.pm index 0a2a4dd..0ff9bbb 100644 --- a/lib/MCE/Step.pm +++ b/lib/MCE/Step.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -713,7 +713,7 @@ MCE::Step - Parallel step model for building creative steps =head1 VERSION -This document describes MCE::Step version 1.899 +This document describes MCE::Step version 1.900 =head1 DESCRIPTION diff --git a/lib/MCE/Stream.pm b/lib/MCE/Stream.pm index 26b38d7..386222b 100644 --- a/lib/MCE/Stream.pm +++ b/lib/MCE/Stream.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -691,7 +691,7 @@ MCE::Stream - Parallel stream model for chaining multiple maps and greps =head1 VERSION -This document describes MCE::Stream version 1.899 +This document describes MCE::Stream version 1.900 =head1 SYNOPSIS diff --git a/lib/MCE/Subs.pm b/lib/MCE/Subs.pm index 57b6901..03ae7f9 100644 --- a/lib/MCE/Subs.pm +++ b/lib/MCE/Subs.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (Subroutines::ProhibitSubroutinePrototypes) ## no critic (TestingAndDebugging::ProhibitNoStrict) @@ -206,7 +206,7 @@ MCE::Subs - Exports functions mapped directly to MCE methods =head1 VERSION -This document describes MCE::Subs version 1.899 +This document describes MCE::Subs version 1.900 =head1 SYNOPSIS diff --git a/lib/MCE/Util.pm b/lib/MCE/Util.pm index d4d1200..fc45807 100644 --- a/lib/MCE/Util.pm +++ b/lib/MCE/Util.pm @@ -11,7 +11,7 @@ use warnings; no warnings qw( threads recursion uninitialized numeric ); -our $VERSION = '1.899'; +our $VERSION = '1.900'; ## no critic (BuiltinFunctions::ProhibitStringyEval) @@ -435,7 +435,7 @@ MCE::Util - Utility functions =head1 VERSION -This document describes MCE::Util version 1.899 +This document describes MCE::Util version 1.900 =head1 SYNOPSIS