summaryrefslogtreecommitdiff
path: root/lib/MCE
diff options
context:
space:
mode:
authorgregor herrmann <gregoa@debian.org>2014-10-24 17:07:29 +0200
committergregor herrmann <gregoa@debian.org>2014-10-24 17:07:29 +0200
commit870e9eb4fe739e599318ad9d96c5cbd1af24f69d (patch)
treef0d9c7a1e769dcb1b39e4fccf134b8533f2d40af /lib/MCE
parentcecec1603ba90dbb5f9d89de7a39178b26829240 (diff)
Imported Upstream version 1.517
Diffstat (limited to 'lib/MCE')
-rw-r--r--lib/MCE/Core.pod2
-rw-r--r--lib/MCE/Core/Input/Generator.pm2
-rw-r--r--lib/MCE/Core/Input/Handle.pm2
-rw-r--r--lib/MCE/Core/Input/Iterator.pm2
-rw-r--r--lib/MCE/Core/Input/Request.pm2
-rw-r--r--lib/MCE/Core/Input/Sequence.pm2
-rw-r--r--lib/MCE/Core/Manager.pm2
-rw-r--r--lib/MCE/Core/Validation.pm2
-rw-r--r--lib/MCE/Core/Worker.pm2
-rw-r--r--lib/MCE/Examples.pod2
-rw-r--r--lib/MCE/Flow.pm4
-rw-r--r--lib/MCE/Grep.pm4
-rw-r--r--lib/MCE/Loop.pm4
-rw-r--r--lib/MCE/Map.pm4
-rw-r--r--lib/MCE/Queue.pm4
-rw-r--r--lib/MCE/Signal.pm4
-rw-r--r--lib/MCE/Step.pm4
-rw-r--r--lib/MCE/Stream.pm4
-rw-r--r--lib/MCE/Subs.pm4
-rw-r--r--lib/MCE/Util.pm53
20 files changed, 52 insertions, 57 deletions
diff --git a/lib/MCE/Core.pod b/lib/MCE/Core.pod
index be16a0a..0f389dd 100644
--- a/lib/MCE/Core.pod
+++ b/lib/MCE/Core.pod
@@ -5,7 +5,7 @@ MCE::Core - Documentation describing the core API for Many-core Engine
=head1 VERSION
-This document describes MCE::Core version 1.516
+This document describes MCE::Core version 1.517
=head1 SYNOPSIS
diff --git a/lib/MCE/Core/Input/Generator.pm b/lib/MCE/Core/Input/Generator.pm
index 75407e0..0316375 100644
--- a/lib/MCE/Core/Input/Generator.pm
+++ b/lib/MCE/Core/Input/Generator.pm
@@ -12,7 +12,7 @@
package MCE::Core::Input::Generator;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
## Items below are folded into MCE.
diff --git a/lib/MCE/Core/Input/Handle.pm b/lib/MCE/Core/Input/Handle.pm
index 7f7a487..5748446 100644
--- a/lib/MCE/Core/Input/Handle.pm
+++ b/lib/MCE/Core/Input/Handle.pm
@@ -11,7 +11,7 @@
package MCE::Core::Input::Handle;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
## Items below are folded into MCE.
diff --git a/lib/MCE/Core/Input/Iterator.pm b/lib/MCE/Core/Input/Iterator.pm
index aab53ba..3eefeba 100644
--- a/lib/MCE/Core/Input/Iterator.pm
+++ b/lib/MCE/Core/Input/Iterator.pm
@@ -11,7 +11,7 @@
package MCE::Core::Input::Iterator;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
## Items below are folded into MCE.
diff --git a/lib/MCE/Core/Input/Request.pm b/lib/MCE/Core/Input/Request.pm
index 27edf68..0d936f6 100644
--- a/lib/MCE/Core/Input/Request.pm
+++ b/lib/MCE/Core/Input/Request.pm
@@ -11,7 +11,7 @@
package MCE::Core::Input::Request;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
## Items below are folded into MCE.
diff --git a/lib/MCE/Core/Input/Sequence.pm b/lib/MCE/Core/Input/Sequence.pm
index e895e7a..86792f1 100644
--- a/lib/MCE/Core/Input/Sequence.pm
+++ b/lib/MCE/Core/Input/Sequence.pm
@@ -11,7 +11,7 @@
package MCE::Core::Input::Sequence;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
## Items below are folded into MCE.
diff --git a/lib/MCE/Core/Manager.pm b/lib/MCE/Core/Manager.pm
index b6b50e1..10afd60 100644
--- a/lib/MCE/Core/Manager.pm
+++ b/lib/MCE/Core/Manager.pm
@@ -11,7 +11,7 @@
package MCE::Core::Manager;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
## Items below are folded into MCE.
diff --git a/lib/MCE/Core/Validation.pm b/lib/MCE/Core/Validation.pm
index 41653d6..07bae42 100644
--- a/lib/MCE/Core/Validation.pm
+++ b/lib/MCE/Core/Validation.pm
@@ -11,7 +11,7 @@
package MCE::Core::Validation;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
## Items below are folded into MCE.
diff --git a/lib/MCE/Core/Worker.pm b/lib/MCE/Core/Worker.pm
index e7ff36d..a1b8aaa 100644
--- a/lib/MCE/Core/Worker.pm
+++ b/lib/MCE/Core/Worker.pm
@@ -11,7 +11,7 @@
package MCE::Core::Worker;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
## Items below are folded into MCE.
diff --git a/lib/MCE/Examples.pod b/lib/MCE/Examples.pod
index 7eae5e3..d317f04 100644
--- a/lib/MCE/Examples.pod
+++ b/lib/MCE/Examples.pod
@@ -5,7 +5,7 @@ MCE::Examples - A list of examples demonstrating Many-core Engine
=head1 VERSION
-This document describes MCE::Examples version 1.516
+This document describes MCE::Examples version 1.517
=head1 DESCRIPTION
diff --git a/lib/MCE/Flow.pm b/lib/MCE/Flow.pm
index 5a859c9..8d5e1b6 100644
--- a/lib/MCE/Flow.pm
+++ b/lib/MCE/Flow.pm
@@ -14,7 +14,7 @@ use Scalar::Util qw( looks_like_number );
use MCE;
use MCE::Util;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
###############################################################################
## ----------------------------------------------------------------------------
@@ -432,7 +432,7 @@ MCE::Flow - Parallel flow model for building creative applications
=head1 VERSION
-This document describes MCE::Flow version 1.516
+This document describes MCE::Flow version 1.517
=head1 DESCRIPTION
diff --git a/lib/MCE/Grep.pm b/lib/MCE/Grep.pm
index f8e9d55..bdaa61e 100644
--- a/lib/MCE/Grep.pm
+++ b/lib/MCE/Grep.pm
@@ -14,7 +14,7 @@ use Scalar::Util qw( looks_like_number );
use MCE;
use MCE::Util;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
###############################################################################
## ----------------------------------------------------------------------------
@@ -398,7 +398,7 @@ MCE::Grep - Parallel grep model similar to the native grep function
=head1 VERSION
-This document describes MCE::Grep version 1.516
+This document describes MCE::Grep version 1.517
=head1 SYNOPSIS
diff --git a/lib/MCE/Loop.pm b/lib/MCE/Loop.pm
index c9cb2db..1e5aba3 100644
--- a/lib/MCE/Loop.pm
+++ b/lib/MCE/Loop.pm
@@ -14,7 +14,7 @@ use Scalar::Util qw( looks_like_number );
use MCE;
use MCE::Util;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
###############################################################################
## ----------------------------------------------------------------------------
@@ -325,7 +325,7 @@ MCE::Loop - Parallel loop model for building creative loops
=head1 VERSION
-This document describes MCE::Loop version 1.516
+This document describes MCE::Loop version 1.517
=head1 DESCRIPTION
diff --git a/lib/MCE/Map.pm b/lib/MCE/Map.pm
index 97c2878..4480490 100644
--- a/lib/MCE/Map.pm
+++ b/lib/MCE/Map.pm
@@ -14,7 +14,7 @@ use Scalar::Util qw( looks_like_number );
use MCE;
use MCE::Util;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
###############################################################################
## ----------------------------------------------------------------------------
@@ -398,7 +398,7 @@ MCE::Map - Parallel map model similar to the native map function
=head1 VERSION
-This document describes MCE::Map version 1.516
+This document describes MCE::Map version 1.517
=head1 SYNOPSIS
diff --git a/lib/MCE/Queue.pm b/lib/MCE/Queue.pm
index 0476cd9..3d6cab4 100644
--- a/lib/MCE/Queue.pm
+++ b/lib/MCE/Queue.pm
@@ -14,7 +14,7 @@ use Socket qw( :crlf PF_UNIX PF_UNSPEC SOCK_STREAM );
use Scalar::Util qw( looks_like_number );
use bytes;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
###############################################################################
## ----------------------------------------------------------------------------
@@ -1602,7 +1602,7 @@ MCE::Queue - Hybrid queues (normal including priority) for Many-core Engine
=head1 VERSION
-This document describes MCE::Queue version 1.516
+This document describes MCE::Queue version 1.517
=head1 SYNOPSIS
diff --git a/lib/MCE/Signal.pm b/lib/MCE/Signal.pm
index ec22e53..ad24dac 100644
--- a/lib/MCE/Signal.pm
+++ b/lib/MCE/Signal.pm
@@ -12,7 +12,7 @@ use warnings;
use Fcntl qw( :flock O_RDONLY );
use base qw( Exporter );
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
our ($has_threads, $main_proc_id, $prog_name);
our ($display_die_with_localtime, $display_warn_with_localtime);
@@ -452,7 +452,7 @@ MCE::Signal - Temporary directory creation/cleanup & signal handling
=head1 VERSION
-This document describes MCE::Signal version 1.516
+This document describes MCE::Signal version 1.517
=head1 SYNOPSIS
diff --git a/lib/MCE/Step.pm b/lib/MCE/Step.pm
index 7ca9840..726c50f 100644
--- a/lib/MCE/Step.pm
+++ b/lib/MCE/Step.pm
@@ -16,7 +16,7 @@ use MCE::Util;
use MCE::Queue;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
###############################################################################
## ----------------------------------------------------------------------------
@@ -515,7 +515,7 @@ MCE::Step - Parallel step model for building creative steps
=head1 VERSION
-This document describes MCE::Step version 1.516
+This document describes MCE::Step version 1.517
=head1 DESCRIPTION
diff --git a/lib/MCE/Stream.pm b/lib/MCE/Stream.pm
index a143cf5..cc2723d 100644
--- a/lib/MCE/Stream.pm
+++ b/lib/MCE/Stream.pm
@@ -16,7 +16,7 @@ use MCE::Util;
use MCE::Queue;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
###############################################################################
## ----------------------------------------------------------------------------
@@ -609,7 +609,7 @@ MCE::Stream - Parallel stream model for chaining multiple maps and greps
=head1 VERSION
-This document describes MCE::Stream version 1.516
+This document describes MCE::Stream version 1.517
=head1 SYNOPSIS
diff --git a/lib/MCE/Subs.pm b/lib/MCE/Subs.pm
index 9748b41..cccfa6b 100644
--- a/lib/MCE/Subs.pm
+++ b/lib/MCE/Subs.pm
@@ -11,7 +11,7 @@ use warnings;
use MCE;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
###############################################################################
## ----------------------------------------------------------------------------
@@ -193,7 +193,7 @@ MCE::Subs - Exports functions mapped directly to MCE methods
=head1 VERSION
-This document describes MCE::Subs version 1.516
+This document describes MCE::Subs version 1.517
=head1 SYNOPSIS
diff --git a/lib/MCE/Util.pm b/lib/MCE/Util.pm
index 7ad1925..4e70fb6 100644
--- a/lib/MCE/Util.pm
+++ b/lib/MCE/Util.pm
@@ -12,18 +12,19 @@ use warnings;
use base qw( Exporter );
use bytes;
-our $VERSION = '1.516'; $VERSION = eval $VERSION;
+our $VERSION = '1.517'; $VERSION = eval $VERSION;
our @EXPORT_OK = qw( get_ncpu );
our %EXPORT_TAGS = ( all => \@EXPORT_OK );
###############################################################################
## ----------------------------------------------------------------------------
-## The get_ncpu subroutine (largely adopted from Test::Smoke::Util.pm)
-## returns the number of available (online/active/enabled) CPUs.
+## The get_ncpu subroutine, largely adopted from Test::Smoke::Util.pm,
+## returns the number of logical (online/active/enabled) CPU cores;
+## never smaller than one.
##
-## Defaults to 1. A warning is emitted to STDERR when it cannot recognize
-## the operating system or the external command failed.
+## A warning is emitted to STDERR when it cannot recognize the operating
+## system or the external command failed.
##
###############################################################################
@@ -50,7 +51,7 @@ sub get_ncpu {
last OS_CHECK;
};
- /(?:darwin|.*bsd)/i && do {
+ /bsd|darwin|dragonfly/i && do {
chomp( my @output = `sysctl -n hw.ncpu 2>/dev/null` );
$ncpu = $output[0] if @output;
last OS_CHECK;
@@ -68,7 +69,7 @@ sub get_ncpu {
};
/hp-?ux/i && do {
- my $count = grep /^processor/ => `ioscan -fnkC processor 2>/dev/null`;
+ my $count = grep /^processor/ => `ioscan -fkC processor 2>/dev/null`;
$ncpu = $count if $count;
last OS_CHECK;
};
@@ -79,21 +80,25 @@ sub get_ncpu {
last OS_CHECK;
};
- /solaris|sunos|osf/i && do {
- my $count = grep /on-line/ => `psrinfo 2>/dev/null`;
- $ncpu = $count if $count;
+ /osf|solaris|sunos|svr5|sco/i && do {
+ if (-x '/usr/sbin/psrinfo') {
+ my $count = grep /on-?line/ => `psrinfo 2>/dev/null`;
+ $ncpu = $count if $count;
+ }
+ else {
+ my @output = grep /^NumCPU = \d+/ => `uname -X 2>/dev/null`;
+ $ncpu = (split " ", $output[0])[2] if @output;
+ }
last OS_CHECK;
};
- /mswin32|mingw|cygwin/i && do {
+ /mswin|mingw|cygwin/i && do {
$ncpu = $ENV{NUMBER_OF_PROCESSORS}
if exists $ENV{NUMBER_OF_PROCESSORS};
last OS_CHECK;
};
- _croak(
- "MCE::Util::get_ncpu: command failed or unknown operating system\n"
- );
+ warn "MCE::Util::get_ncpu: command failed or unknown operating system\n";
}
return $g_ncpu = $ncpu;
@@ -105,17 +110,6 @@ sub get_ncpu {
##
###############################################################################
-sub _croak {
-
- unless (defined $MCE::VERSION) {
- $\ = undef; require Carp; goto &Carp::croak;
- } else {
- goto &MCE::_croak;
- }
-
- return;
-}
-
sub _parse_max_workers {
my ($_max_workers) = @_;
@@ -233,7 +227,7 @@ MCE::Util - Public and private utility functions for Many-core Engine
=head1 VERSION
-This document describes MCE::Util version 1.516
+This document describes MCE::Util version 1.517
=head1 SYNOPSIS
@@ -241,12 +235,13 @@ This document describes MCE::Util version 1.516
=head1 DESCRIPTION
-This is a utility module for MCE. Nothing is exported by default. Exportable
-is get_ncpu.
+A utility module for MCE. Nothing is exported by default. Exportable is
+get_ncpu.
=head2 get_ncpu()
-Returns the number of available (online/active/enabled) CPUs.
+Returns the number of logical (online/active/enabled) CPU cores; never smaller
+than one.
my $ncpu = MCE::Util::get_ncpu();