Hello community, here is the log from the commit of package perl-MCE for openSUSE:Factory checked in at 2019-09-11 10:40:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-MCE (Old) and /work/SRC/openSUSE:Factory/.perl-MCE.new.7948 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-MCE" Wed Sep 11 10:40:08 2019 rev:10 rq:729901 version:1.850 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-MCE/perl-MCE.changes 2019-09-07 11:53:03.366277312 +0200 +++ /work/SRC/openSUSE:Factory/.perl-MCE.new.7948/perl-MCE.changes 2019-09-11 10:40:10.675222355 +0200 @@ -1,0 +2,15 @@ +Tue Sep 10 09:19:22 UTC 2019 - <timueller+p...@suse.de> + +- updated to 1.850 + see /usr/share/doc/packages/perl-MCE/Changes + + 1.850 Mon Sep 09 12:30:00 EST 2019 + + * Bumped version to coincide with the stable MCE::Shared 1.850 release. + + 1.849 Sun Sep 08 23:30:00 EST 2019 + + * Fixed edge case in MCE::Child when reaping inside a signal handler. + * Added list_pids class method to MCE::Child. + +------------------------------------------------------------------- Old: ---- MCE-1.848.tar.gz New: ---- MCE-1.850.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-MCE.spec ++++++ --- /var/tmp/diff_new_pack.wlHoGd/_old 2019-09-11 10:40:11.219222259 +0200 +++ /var/tmp/diff_new_pack.wlHoGd/_new 2019-09-11 10:40:11.223222259 +0200 @@ -17,7 +17,7 @@ Name: perl-MCE -Version: 1.848 +Version: 1.850 Release: 0 %define cpan_name MCE Summary: Many-Core Engine for Perl providing parallel processing capabilities ++++++ MCE-1.848.tar.gz -> MCE-1.850.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/Changes new/MCE-1.850/Changes --- old/MCE-1.848/Changes 2019-09-04 06:47:34.000000000 +0200 +++ new/MCE-1.850/Changes 2019-09-09 18:44:08.000000000 +0200 @@ -1,6 +1,15 @@ Revision history for Perl module MCE. +1.850 Mon Sep 09 12:30:00 EST 2019 + + * Bumped version to coincide with the stable MCE::Shared 1.850 release. + +1.849 Sun Sep 08 23:30:00 EST 2019 + + * Fixed edge case in MCE::Child when reaping inside a signal handler. + * Added list_pids class method to MCE::Child. + 1.848 Tue Sep 03 23:30:00 EST 2019 * Improved IO::All::{ File, Pipe, STDIO } output via MCE->print($io, ...), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/META.json new/MCE-1.850/META.json --- old/MCE-1.848/META.json 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/META.json 2019-09-09 18:41:19.000000000 +0200 @@ -65,123 +65,123 @@ "provides" : { "MCE" : { "file" : "lib/MCE.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Candy" : { "file" : "lib/MCE/Candy.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Channel" : { "file" : "lib/MCE/Channel.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Channel::Mutex" : { "file" : "lib/MCE/Channel/Mutex.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Channel::Simple" : { "file" : "lib/MCE/Channel/Simple.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Channel::Threads" : { "file" : "lib/MCE/Channel/Threads.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Child" : { "file" : "lib/MCE/Child.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Core::Input::Generator" : { "file" : "lib/MCE/Core/Input/Generator.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Core::Input::Handle" : { "file" : "lib/MCE/Core/Input/Handle.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Core::Input::Iterator" : { "file" : "lib/MCE/Core/Input/Iterator.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Core::Input::Request" : { "file" : "lib/MCE/Core/Input/Request.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Core::Input::Sequence" : { "file" : "lib/MCE/Core/Input/Sequence.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Core::Manager" : { "file" : "lib/MCE/Core/Manager.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Core::Validation" : { "file" : "lib/MCE/Core/Validation.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Core::Worker" : { "file" : "lib/MCE/Core/Worker.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Flow" : { "file" : "lib/MCE/Flow.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Grep" : { "file" : "lib/MCE/Grep.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Loop" : { "file" : "lib/MCE/Loop.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Map" : { "file" : "lib/MCE/Map.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Mutex" : { "file" : "lib/MCE/Mutex.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Mutex::Channel" : { "file" : "lib/MCE/Mutex/Channel.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Mutex::Channel2" : { "file" : "lib/MCE/Mutex/Channel2.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Mutex::Flock" : { "file" : "lib/MCE/Mutex/Flock.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Queue" : { "file" : "lib/MCE/Queue.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Relay" : { "file" : "lib/MCE/Relay.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Signal" : { "file" : "lib/MCE/Signal.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Step" : { "file" : "lib/MCE/Step.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Stream" : { "file" : "lib/MCE/Stream.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Subs" : { "file" : "lib/MCE/Subs.pm", - "version" : "1.848" + "version" : "1.850" }, "MCE::Util" : { "file" : "lib/MCE/Util.pm", - "version" : "1.848" + "version" : "1.850" } }, "release_status" : "stable", @@ -197,5 +197,5 @@ "url" : "https://github.com/marioroy/mce-perl.git" } }, - "version" : "1.848" + "version" : "1.850" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/META.yml new/MCE-1.850/META.yml --- old/MCE-1.848/META.yml 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/META.yml 2019-09-09 18:41:19.000000000 +0200 @@ -25,94 +25,94 @@ provides: MCE: file: lib/MCE.pm - version: '1.848' + version: '1.850' MCE::Candy: file: lib/MCE/Candy.pm - version: '1.848' + version: '1.850' MCE::Channel: file: lib/MCE/Channel.pm - version: '1.848' + version: '1.850' MCE::Channel::Mutex: file: lib/MCE/Channel/Mutex.pm - version: '1.848' + version: '1.850' MCE::Channel::Simple: file: lib/MCE/Channel/Simple.pm - version: '1.848' + version: '1.850' MCE::Channel::Threads: file: lib/MCE/Channel/Threads.pm - version: '1.848' + version: '1.850' MCE::Child: file: lib/MCE/Child.pm - version: '1.848' + version: '1.850' MCE::Core::Input::Generator: file: lib/MCE/Core/Input/Generator.pm - version: '1.848' + version: '1.850' MCE::Core::Input::Handle: file: lib/MCE/Core/Input/Handle.pm - version: '1.848' + version: '1.850' MCE::Core::Input::Iterator: file: lib/MCE/Core/Input/Iterator.pm - version: '1.848' + version: '1.850' MCE::Core::Input::Request: file: lib/MCE/Core/Input/Request.pm - version: '1.848' + version: '1.850' MCE::Core::Input::Sequence: file: lib/MCE/Core/Input/Sequence.pm - version: '1.848' + version: '1.850' MCE::Core::Manager: file: lib/MCE/Core/Manager.pm - version: '1.848' + version: '1.850' MCE::Core::Validation: file: lib/MCE/Core/Validation.pm - version: '1.848' + version: '1.850' MCE::Core::Worker: file: lib/MCE/Core/Worker.pm - version: '1.848' + version: '1.850' MCE::Flow: file: lib/MCE/Flow.pm - version: '1.848' + version: '1.850' MCE::Grep: file: lib/MCE/Grep.pm - version: '1.848' + version: '1.850' MCE::Loop: file: lib/MCE/Loop.pm - version: '1.848' + version: '1.850' MCE::Map: file: lib/MCE/Map.pm - version: '1.848' + version: '1.850' MCE::Mutex: file: lib/MCE/Mutex.pm - version: '1.848' + version: '1.850' MCE::Mutex::Channel: file: lib/MCE/Mutex/Channel.pm - version: '1.848' + version: '1.850' MCE::Mutex::Channel2: file: lib/MCE/Mutex/Channel2.pm - version: '1.848' + version: '1.850' MCE::Mutex::Flock: file: lib/MCE/Mutex/Flock.pm - version: '1.848' + version: '1.850' MCE::Queue: file: lib/MCE/Queue.pm - version: '1.848' + version: '1.850' MCE::Relay: file: lib/MCE/Relay.pm - version: '1.848' + version: '1.850' MCE::Signal: file: lib/MCE/Signal.pm - version: '1.848' + version: '1.850' MCE::Step: file: lib/MCE/Step.pm - version: '1.848' + version: '1.850' MCE::Stream: file: lib/MCE/Stream.pm - version: '1.848' + version: '1.850' MCE::Subs: file: lib/MCE/Subs.pm - version: '1.848' + version: '1.850' MCE::Util: file: lib/MCE/Util.pm - version: '1.848' + version: '1.850' recommends: Sereal::Decoder: '3.015' Sereal::Encoder: '3.015' @@ -139,4 +139,4 @@ homepage: https://github.com/marioroy/mce-perl license: http://dev.perl.org/licenses/ repository: https://github.com/marioroy/mce-perl.git -version: '1.848' +version: '1.850' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/Makefile.PL new/MCE-1.850/Makefile.PL --- old/MCE-1.848/Makefile.PL 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/Makefile.PL 2019-09-09 18:41:19.000000000 +0200 @@ -17,7 +17,7 @@ ABSTRACT => 'Many-Core Engine for Perl providing parallel processing capabilities', AUTHOR => 'Mario E. Roy <marioeroy AT gmail DOT com>', NAME => 'MCE', - VERSION => '1.848', + VERSION => '1.850', EXE_FILES => [ @exe_files ], @@ -68,123 +68,123 @@ 'provides' => { 'MCE' => { 'file' => 'lib/MCE.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Candy' => { 'file' => 'lib/MCE/Candy.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Channel' => { 'file' => 'lib/MCE/Channel.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Channel::Mutex' => { 'file' => 'lib/MCE/Channel/Mutex.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Channel::Simple' => { 'file' => 'lib/MCE/Channel/Simple.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Channel::Threads' => { 'file' => 'lib/MCE/Channel/Threads.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Child' => { 'file' => 'lib/MCE/Child.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Core::Input::Generator' => { 'file' => 'lib/MCE/Core/Input/Generator.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Core::Input::Handle' => { 'file' => 'lib/MCE/Core/Input/Handle.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Core::Input::Iterator' => { 'file' => 'lib/MCE/Core/Input/Iterator.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Core::Input::Request' => { 'file' => 'lib/MCE/Core/Input/Request.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Core::Input::Sequence' => { 'file' => 'lib/MCE/Core/Input/Sequence.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Core::Manager' => { 'file' => 'lib/MCE/Core/Manager.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Core::Validation' => { 'file' => 'lib/MCE/Core/Validation.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Core::Worker' => { 'file' => 'lib/MCE/Core/Worker.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Flow' => { 'file' => 'lib/MCE/Flow.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Grep' => { 'file' => 'lib/MCE/Grep.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Loop' => { 'file' => 'lib/MCE/Loop.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Map' => { 'file' => 'lib/MCE/Map.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Mutex' => { 'file' => 'lib/MCE/Mutex.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Mutex::Channel' => { 'file' => 'lib/MCE/Mutex/Channel.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Mutex::Channel2' => { 'file' => 'lib/MCE/Mutex/Channel2.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Mutex::Flock' => { 'file' => 'lib/MCE/Mutex/Flock.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Queue' => { 'file' => 'lib/MCE/Queue.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Relay' => { 'file' => 'lib/MCE/Relay.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Signal' => { 'file' => 'lib/MCE/Signal.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Step' => { 'file' => 'lib/MCE/Step.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Stream' => { 'file' => 'lib/MCE/Stream.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Subs' => { 'file' => 'lib/MCE/Subs.pm', - 'version' => '1.848' + 'version' => '1.850' }, 'MCE::Util' => { 'file' => 'lib/MCE/Util.pm', - 'version' => '1.848' + 'version' => '1.850' } }, 'prereqs' => { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/README.md new/MCE-1.850/README.md --- old/MCE-1.848/README.md 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/README.md 2019-09-09 18:41:19.000000000 +0200 @@ -1,6 +1,6 @@ ## Many-Core Engine for Perl -This document describes MCE version 1.848. +This document describes MCE version 1.850. Many-Core Engine (MCE) for Perl helps enable a new level of performance by maximizing all available cores. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Candy.pm new/MCE-1.850/lib/MCE/Candy.pm --- old/MCE-1.848/lib/MCE/Candy.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Candy.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; our @CARP_NOT = qw( MCE ); @@ -240,7 +240,7 @@ =head1 VERSION -This document describes MCE::Candy version 1.848 +This document describes MCE::Candy version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Channel/Mutex.pm new/MCE-1.850/lib/MCE/Channel/Mutex.pm --- old/MCE-1.848/lib/MCE/Channel/Mutex.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Channel/Mutex.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( uninitialized once ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; use base 'MCE::Channel'; use MCE::Mutex (); @@ -328,7 +328,7 @@ =head1 VERSION -This document describes MCE::Channel::Mutex version 1.848 +This document describes MCE::Channel::Mutex version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Channel/Simple.pm new/MCE-1.850/lib/MCE/Channel/Simple.pm --- old/MCE-1.848/lib/MCE/Channel/Simple.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Channel/Simple.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( uninitialized once ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; use base 'MCE::Channel'; use bytes; @@ -311,7 +311,7 @@ =head1 VERSION -This document describes MCE::Channel::Simple version 1.848 +This document describes MCE::Channel::Simple version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Channel/Threads.pm new/MCE-1.850/lib/MCE/Channel/Threads.pm --- old/MCE-1.848/lib/MCE/Channel/Threads.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Channel/Threads.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( uninitialized once ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; use threads; use threads::shared; @@ -326,7 +326,7 @@ =head1 VERSION -This document describes MCE::Channel::Threads version 1.848 +This document describes MCE::Channel::Threads version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Channel.pm new/MCE-1.850/lib/MCE/Channel.pm --- old/MCE-1.848/lib/MCE/Channel.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Channel.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( uninitialized once ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (TestingAndDebugging::ProhibitNoStrict) @@ -128,7 +128,7 @@ =head1 VERSION -This document describes MCE::Channel version 1.848 +This document describes MCE::Channel version 1.850 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Child.pm new/MCE-1.850/lib/MCE/Child.pm --- old/MCE-1.848/lib/MCE/Child.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Child.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ package MCE::Child; -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitExplicitReturnUndef) @@ -383,7 +383,9 @@ _croak('Cannot join self'); } elsif ( $self->{MGR_ID} eq "$$.$_tid" ) { - _reap_child($_LIST->{$pkg}->del($wrk_id), 1); + # do not remove from the list until after reaping + _reap_child($self, 1); + $_LIST->{$pkg}->del($wrk_id); } else { # limitation for MCE::Child only; allowed for MCE::Hobo @@ -424,6 +426,13 @@ ( exists $_LIST->{$pkg} ) ? $_LIST->{$pkg}->vals() : (); } +sub list_pids { + _croak('Usage: MCE::Child->list_pids()') if ref($_[0]); + my $pkg = "$$.$_tid.".caller(); local $_; + + ( exists $_LIST->{$pkg} ) ? map { $_->pid } $_LIST->{$pkg}->vals() : (); +} + sub list_joinable { _croak('Usage: MCE::Child->list_joinable()') if ref($_[0]); my $pkg = "$$.$_tid.".caller(); @@ -564,11 +573,16 @@ sub _dispatch { my ( $mngd, $func, $args ) = @_; - $mngd->{WRK_ID} = $_SELF->{WRK_ID} = $$; + $mngd->{WRK_ID} = $_SELF->{WRK_ID} = $$; $ENV{PERL_MCE_IPC} = 'win32' if $_is_MSWin32; - $SIG{TERM} = $SIG{SEGV} = $SIG{INT} = $SIG{HUP} = \&_trap; - $SIG{QUIT} = \&_quit; + + $SIG{TERM} = $SIG{SEGV} = $SIG{INT} = $SIG{HUP} = sub { + $_DATA->{ $_SELF->{PKG} }->set('R'.$$, ''); _trap(); + }; + $SIG{QUIT} = sub { + $_DATA->{ $_SELF->{PKG} }->set('R'.$$, ''); _quit(); + }; { local $!; @@ -684,6 +698,8 @@ sub _reap_child { my ( $child, $wait_flag ) = @_; + return unless $child; + local @_ = $_DATA->{ $child->{PKG} }->get( $child->{WRK_ID}, $wait_flag ); ( $child->{ERROR}, $child->{RESULT}, $child->{JOINED} ) = @@ -940,7 +956,7 @@ =head1 VERSION -This document describes MCE::Child version 1.848 +This document describes MCE::Child version 1.850 =head1 SYNOPSIS @@ -972,6 +988,7 @@ MCE::Child->create( \¶llel, $_ ) for 1 .. 3; my @procs = MCE::Child->list(); + my @pids = MCE::Child->list_pids(); my @running = MCE::Child->list_running(); my @joinable = MCE::Child->list_joinable(); my @count = MCE::Child->pending(); @@ -1367,6 +1384,18 @@ @procs = MCE::Child->list(); +=item MCE::Child->list_pids() + +Returns a list of all child pids not yet joined (available since 1.849). + + @pids = MCE::Child->list_pids(); + + $SIG{QUIT} = $SIG{INT} = $SIG{HUP} = $SIG{TERM} = sub { + # Signal workers all at once + CORE::kill('KILL', MCE::Child->list_pids()); + exec('reset'); + }; + =item MCE::Child->list_running() Returns a list of all child objects that are still running. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Core/Input/Generator.pm new/MCE-1.850/lib/MCE/Core/Input/Generator.pm --- old/MCE-1.848/lib/MCE/Core/Input/Generator.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Core/Input/Generator.pm 2019-09-09 18:41:19.000000000 +0200 @@ -15,7 +15,7 @@ use strict; use warnings; -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## Items below are folded into MCE. @@ -220,7 +220,7 @@ =head1 VERSION -This document describes MCE::Core::Input::Generator version 1.848 +This document describes MCE::Core::Input::Generator version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Core/Input/Handle.pm new/MCE-1.850/lib/MCE/Core/Input/Handle.pm --- old/MCE-1.848/lib/MCE/Core/Input/Handle.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Core/Input/Handle.pm 2019-09-09 18:41:19.000000000 +0200 @@ -14,7 +14,7 @@ use strict; use warnings; -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## Items below are folded into MCE. @@ -282,7 +282,7 @@ =head1 VERSION -This document describes MCE::Core::Input::Handle version 1.848 +This document describes MCE::Core::Input::Handle version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Core/Input/Iterator.pm new/MCE-1.850/lib/MCE/Core/Input/Iterator.pm --- old/MCE-1.848/lib/MCE/Core/Input/Iterator.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Core/Input/Iterator.pm 2019-09-09 18:41:19.000000000 +0200 @@ -14,7 +14,7 @@ use strict; use warnings; -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## Items below are folded into MCE. @@ -137,7 +137,7 @@ =head1 VERSION -This document describes MCE::Core::Input::Iterator version 1.848 +This document describes MCE::Core::Input::Iterator version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Core/Input/Request.pm new/MCE-1.850/lib/MCE/Core/Input/Request.pm --- old/MCE-1.848/lib/MCE/Core/Input/Request.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Core/Input/Request.pm 2019-09-09 18:41:19.000000000 +0200 @@ -14,7 +14,7 @@ use strict; use warnings; -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## Items below are folded into MCE. @@ -206,7 +206,7 @@ =head1 VERSION -This document describes MCE::Core::Input::Request version 1.848 +This document describes MCE::Core::Input::Request version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Core/Input/Sequence.pm new/MCE-1.850/lib/MCE/Core/Input/Sequence.pm --- old/MCE-1.848/lib/MCE/Core/Input/Sequence.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Core/Input/Sequence.pm 2019-09-09 18:41:19.000000000 +0200 @@ -14,7 +14,7 @@ use strict; use warnings; -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## Items below are folded into MCE. @@ -231,7 +231,7 @@ =head1 VERSION -This document describes MCE::Core::Input::Sequence version 1.848 +This document describes MCE::Core::Input::Sequence version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Core/Manager.pm new/MCE-1.850/lib/MCE/Core/Manager.pm --- old/MCE-1.848/lib/MCE/Core/Manager.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Core/Manager.pm 2019-09-09 18:41:19.000000000 +0200 @@ -14,7 +14,7 @@ use strict; use warnings; -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (TestingAndDebugging::ProhibitNoStrict) @@ -1041,7 +1041,7 @@ =head1 VERSION -This document describes MCE::Core::Manager version 1.848 +This document describes MCE::Core::Manager version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Core/Validation.pm new/MCE-1.850/lib/MCE/Core/Validation.pm --- old/MCE-1.848/lib/MCE/Core/Validation.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Core/Validation.pm 2019-09-09 18:41:19.000000000 +0200 @@ -14,7 +14,7 @@ use strict; use warnings; -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## Items below are folded into MCE. @@ -391,7 +391,7 @@ =head1 VERSION -This document describes MCE::Core::Validation version 1.848 +This document describes MCE::Core::Validation version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Core/Worker.pm new/MCE-1.850/lib/MCE/Core/Worker.pm --- old/MCE-1.848/lib/MCE/Core/Worker.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Core/Worker.pm 2019-09-09 18:41:19.000000000 +0200 @@ -14,7 +14,7 @@ use strict; use warnings; -our $VERSION = '1.848'; +our $VERSION = '1.850'; my $_has_threads = $INC{'threads.pm'} ? 1 : 0; my $_tid = $_has_threads ? threads->tid() : 0; @@ -743,7 +743,7 @@ =head1 VERSION -This document describes MCE::Core::Worker version 1.848 +This document describes MCE::Core::Worker version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Core.pod new/MCE-1.850/lib/MCE/Core.pod --- old/MCE-1.848/lib/MCE/Core.pod 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Core.pod 2019-09-09 18:41:19.000000000 +0200 @@ -5,7 +5,7 @@ =head1 VERSION -This document describes MCE::Core version 1.848 +This document describes MCE::Core version 1.850 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Examples.pod new/MCE-1.850/lib/MCE/Examples.pod --- old/MCE-1.848/lib/MCE/Examples.pod 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Examples.pod 2019-09-09 18:41:19.000000000 +0200 @@ -5,7 +5,7 @@ =head1 VERSION -This document describes MCE::Examples version 1.848 +This document describes MCE::Examples version 1.850 =head1 INCLUDED WITH THE DISTRIBUTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Flow.pm new/MCE-1.850/lib/MCE/Flow.pm --- old/MCE-1.848/lib/MCE/Flow.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Flow.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -480,7 +480,7 @@ =head1 VERSION -This document describes MCE::Flow version 1.848 +This document describes MCE::Flow version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Grep.pm new/MCE-1.850/lib/MCE/Grep.pm --- old/MCE-1.848/lib/MCE/Grep.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Grep.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -435,7 +435,7 @@ =head1 VERSION -This document describes MCE::Grep version 1.848 +This document describes MCE::Grep version 1.850 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Loop.pm new/MCE-1.850/lib/MCE/Loop.pm --- old/MCE-1.848/lib/MCE/Loop.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Loop.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -350,7 +350,7 @@ =head1 VERSION -This document describes MCE::Loop version 1.848 +This document describes MCE::Loop version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Map.pm new/MCE-1.850/lib/MCE/Map.pm --- old/MCE-1.848/lib/MCE/Map.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Map.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -435,7 +435,7 @@ =head1 VERSION -This document describes MCE::Map version 1.848 +This document describes MCE::Map version 1.850 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Mutex/Channel.pm new/MCE-1.850/lib/MCE/Mutex/Channel.pm --- old/MCE-1.848/lib/MCE/Mutex/Channel.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Mutex/Channel.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized once ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; use base 'MCE::Mutex'; use Scalar::Util qw(refaddr weaken); @@ -144,7 +144,7 @@ =head1 VERSION -This document describes MCE::Mutex::Channel version 1.848 +This document describes MCE::Mutex::Channel version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Mutex/Channel2.pm new/MCE-1.850/lib/MCE/Mutex/Channel2.pm --- old/MCE-1.848/lib/MCE/Mutex/Channel2.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Mutex/Channel2.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized once ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; use base 'MCE::Mutex::Channel'; use MCE::Util (); @@ -117,7 +117,7 @@ =head1 VERSION -This document describes MCE::Mutex::Channel2 version 1.848 +This document describes MCE::Mutex::Channel2 version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Mutex/Flock.pm new/MCE-1.850/lib/MCE/Mutex/Flock.pm --- old/MCE-1.848/lib/MCE/Mutex/Flock.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Mutex/Flock.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized once ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; use base 'MCE::Mutex'; use Fcntl ':flock'; @@ -184,7 +184,7 @@ =head1 VERSION -This document describes MCE::Mutex::Flock version 1.848 +This document describes MCE::Mutex::Flock version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Mutex.pm new/MCE-1.850/lib/MCE/Mutex.pm --- old/MCE-1.848/lib/MCE/Mutex.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Mutex.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (TestingAndDebugging::ProhibitNoStrict) @@ -68,7 +68,7 @@ =head1 VERSION -This document describes MCE::Mutex version 1.848 +This document describes MCE::Mutex version 1.850 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Queue.pm new/MCE-1.850/lib/MCE/Queue.pm --- old/MCE-1.848/lib/MCE/Queue.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Queue.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (Subroutines::ProhibitExplicitReturnUndef) ## no critic (TestingAndDebugging::ProhibitNoStrict) @@ -1602,7 +1602,7 @@ =head1 VERSION -This document describes MCE::Queue version 1.848 +This document describes MCE::Queue version 1.850 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Relay.pm new/MCE-1.850/lib/MCE/Relay.pm --- old/MCE-1.848/lib/MCE/Relay.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Relay.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized numeric ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -370,7 +370,7 @@ =head1 VERSION -This document describes MCE::Relay version 1.848 +This document describes MCE::Relay version 1.850 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Signal.pm new/MCE-1.850/lib/MCE/Signal.pm --- old/MCE-1.848/lib/MCE/Signal.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Signal.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (BuiltinFunctions::ProhibitStringyEval) @@ -428,7 +428,7 @@ =head1 VERSION -This document describes MCE::Signal version 1.848 +This document describes MCE::Signal version 1.850 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Step.pm new/MCE-1.850/lib/MCE/Step.pm --- old/MCE-1.848/lib/MCE/Step.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Step.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -716,7 +716,7 @@ =head1 VERSION -This document describes MCE::Step version 1.848 +This document describes MCE::Step version 1.850 =head1 DESCRIPTION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Stream.pm new/MCE-1.850/lib/MCE/Stream.pm --- old/MCE-1.848/lib/MCE/Stream.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Stream.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) @@ -672,7 +672,7 @@ =head1 VERSION -This document describes MCE::Stream version 1.848 +This document describes MCE::Stream version 1.850 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Subs.pm new/MCE-1.850/lib/MCE/Subs.pm --- old/MCE-1.848/lib/MCE/Subs.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Subs.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (Subroutines::ProhibitSubroutinePrototypes) ## no critic (TestingAndDebugging::ProhibitNoStrict) @@ -204,7 +204,7 @@ =head1 VERSION -This document describes MCE::Subs version 1.848 +This document describes MCE::Subs version 1.850 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE/Util.pm new/MCE-1.850/lib/MCE/Util.pm --- old/MCE-1.848/lib/MCE/Util.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE/Util.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized numeric ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (BuiltinFunctions::ProhibitStringyEval) @@ -374,7 +374,7 @@ =head1 VERSION -This document describes MCE::Util version 1.848 +This document describes MCE::Util version 1.850 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE.pm new/MCE-1.850/lib/MCE.pm --- old/MCE-1.848/lib/MCE.pm 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE.pm 2019-09-09 18:41:19.000000000 +0200 @@ -11,7 +11,7 @@ no warnings qw( threads recursion uninitialized ); -our $VERSION = '1.848'; +our $VERSION = '1.850'; ## no critic (BuiltinFunctions::ProhibitStringyEval) ## no critic (Subroutines::ProhibitSubroutinePrototypes) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/lib/MCE.pod new/MCE-1.850/lib/MCE.pod --- old/MCE-1.848/lib/MCE.pod 2019-09-04 06:39:47.000000000 +0200 +++ new/MCE-1.850/lib/MCE.pod 2019-09-09 18:41:19.000000000 +0200 @@ -5,7 +5,7 @@ =head1 VERSION -This document describes MCE version 1.848 +This document describes MCE version 1.850 Many-Core Engine (MCE) for Perl helps enable a new level of performance by maximizing all available cores. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MCE-1.848/t/05_mce_child.t new/MCE-1.850/t/05_mce_child.t --- old/MCE-1.848/t/05_mce_child.t 2019-06-16 01:08:54.000000000 +0200 +++ new/MCE-1.850/t/05_mce_child.t 2019-09-08 07:53:48.000000000 +0200 @@ -11,11 +11,14 @@ } { - my ( $cnt, @list, %ret ); local $_; + my ( $cnt, @list, %pids, %ret ); local $_; ok( 1, "spawning asynchronously" ); MCE::Child->create( sub { sleep 2; $_ } ) for ( 1 .. 3 ); + %pids = map { $_ => undef } MCE::Child->list_pids; + is ( scalar( keys %pids ), 3, 'check for unique pids' ); + @list = MCE::Child->list_running; is ( scalar @list, 3, 'check list_running' ); @@ -41,7 +44,7 @@ is ( $_->error, undef, 'check error child'.$cnt ); } - is ( scalar keys %ret, 3, 'check unique pid value' ); + is ( scalar keys %ret, 3, 'check for unique values' ); } {