File Coverage

lib/Parallel/WorkUnit/Procedural.pm
Criterion Covered Total %
statement 31 31 100.0
branch 1 2 50.0
condition n/a
subroutine 17 17 100.0
pod 10 10 100.0
total 59 60 98.3


line stmt bran cond sub pod time code
1              
2             # Copyright (C) 2015-2024 Joelle Maslak
3             # All Rights Reserved - See License
4             #
5              
6             package Parallel::WorkUnit::Procedural;
7             $Parallel::WorkUnit::Procedural::VERSION = '2.243480';
8 44     44   8723139 use v5.8;
  44         234  
9              
10             # ABSTRACT: Provide procedural paradigm forking with ability to pass back data
11              
12 44     44   213 use strict;
  44         84  
  44         1025  
13 44     44   291 use warnings;
  44         44  
  44         2028  
14 44     44   212 use autodie;
  44         127  
  44         385  
15              
16             require Exporter;
17             our @ISA = qw(Exporter);
18             our @EXPORT_OK = qw(
19             async asyncs proc_count proc_wait queue queueall start waitall waitone WorkUnit
20             );
21             our %EXPORT_TAGS = ( all => [@EXPORT_OK] );
22              
23 44     44   290528 use Carp;
  44         128  
  44         3996  
24 44     44   27101 use Parallel::WorkUnit;
  44         164  
  44         2236  
25              
26 44     44   25838 use namespace::autoclean;
  44         911683  
  44         253  
27              
28              
29              
30             my $wu = Parallel::WorkUnit->new();
31              
32             sub WorkUnit() {
33 1232 50   1232 1 8863 $wu = Parallel::WorkUnit->new() if !defined($wu);
34 1232         23458 return $wu;
35             }
36              
37              
38 530     530 1 43013009 sub async(&;&) { return WorkUnit->async(@_) }
39              
40              
41 30     30 1 150 sub asyncs { return WorkUnit->asyncs(@_) }
42              
43              
44 90     90 1 5793 sub waitall() { return WorkUnit->waitall() }
45              
46              
47 52     52 1 304856 sub waitone { return WorkUnit->waitone(@_) }
48              
49              
50 4     4 1 370 sub proc_wait { return WorkUnit->wait(@_) }
51              
52              
53 505     505 1 12401162 sub proc_count() { return WorkUnit->count() }
54              
55              
56 10     10 1 65120 sub queue { return WorkUnit->queue(@_) }
57              
58              
59 9     9 1 74214 sub queueall { return WorkUnit->queueall(@_) }
60              
61              
62 2     2 1 536 sub start(&) { return WorkUnit->start(@_) }
63              
64             1;
65              
66             __END__