| line |
true |
false |
branch |
|
74
|
6 |
43 |
if $mask == 0 |
|
75
|
0 |
43 |
wantarray ? : |
|
81
|
0 |
19 |
if ($DEBUG) |
|
85
|
0 |
19 |
unless $pid |
|
86
|
0 |
19 |
if (ref $mask eq "ARRAY") |
|
88
|
0 |
0 |
if ($DEBUG) |
|
94
|
4 |
15 |
if ($mask == -1 and $np > 0) |
|
96
|
0 |
4 |
if ($DEBUG) |
|
101
|
2 |
17 |
if ($mask <= 0) |
|
107
|
2 |
15 |
if ($maxmask > 1 and $mask >= $maxmask) |
|
109
|
2 |
0 |
if ($newmask == 0) { } |
|
126
|
4 |
15 |
unless _sanitize_set_affinity_args($pid, $mask) |
|
147
|
18 |
4 |
if ($_NUM_CPUS_CACHED) |
|
182
|
0 |
1 |
if ($^O eq "MSWin32" or $^O eq "cygwin") |
|
183
|
0 |
0 |
if (defined $ENV{'NUMBER_OF_PROCESSORS'}) |
|
201
|
0 |
0 |
if $^O ne "MSWin32" and $^O ne "cygwin" |
|
202
|
0 |
0 |
unless _configModule("Win32::API") |
|
203
|
0 |
0 |
if $Sys::CpuAffinity::IS_WOW64_INITIALIZED++ |
|
207
|
0 |
0 |
if $hmodule == 0 |
|
210
|
0 |
0 |
if $proc == 0 |
|
213
|
0 |
0 |
if $current == 0 |
|
217
|
0 |
0 |
if ($result != 0) |
|
225
|
1 |
0 |
if $^O ne "MSWin32" and $^O ne "cygwin" |
|
226
|
0 |
0 |
unless _configModule("Win32::API") |
|
228
|
0 |
0 |
if (0 == scalar keys %WIN32_SYSTEM_INFO) |
|
229
|
0 |
0 |
unless (defined $WIN32API{'GetSystemInfo'}) |
|
234
|
0 |
0 |
$is_wow64 ? : |
|
|
0 |
0 |
$lpsysinfo_type_avail ? : |
|
260
|
0 |
5 |
if ($XS_LOADED and defined &Sys::CpuAffinity::xs_cpusetGetCPUCount) { } |
|
268
|
0 |
5 |
if (defined &Sys::CpuAffinity::xs_get_numcpus_from_windows_system_info) { } |
|
|
0 |
5 |
elsif (defined &Sys::CpuAffinity::xs_get_numcpus_from_windows_system_info_alt) { } |
|
282
|
0 |
5 |
unless -r "/proc/cpuinfo" |
|
286
|
5 |
0 |
if (open $cpuinfo_fh, "<", "/proc/cpuinfo") |
|
288
|
80 |
2080 |
if (/^processor\s/) |
|
300
|
0 |
1 |
unless -r "/proc/stat" |
|
304
|
1 |
0 |
if (open $stat_fh, "<", "/proc/stat") |
|
306
|
16 |
8 |
if (/^cpu\d/i) |
|
319
|
0 |
0 |
unless ($bindprocessor) |
|
322
|
0 |
0 |
unless $bindprocessor |
|
325
|
0 |
0 |
unless ($vp_output =~ s/The available process\S+ are:\s*//) |
|
333
|
0 |
0 |
unless ($proc_output =~ s/The available process\S+ are:\s*//) |
|
343
|
0 |
0 |
if (@procs == @vp) { } |
|
352
|
0 |
0 |
if ($bound_output =~ s/The available process\S+ are:\s*//) |
|
364
|
0 |
0 |
unless $^O =~ /solaris/i |
|
365
|
0 |
0 |
unless ($SOLARIS_HINTS and $Sys::CpuAffinity::SOLARIS_HINTS->{'multicpu'}) |
|
368
|
0 |
0 |
if ($? == 0 and $maj > 11 || $maj == 11 && $min >= 2) { } |
|
|
0 |
0 |
elsif (defined &Sys::CpuAffinity::xs_setaffinity_processor_affinity) { } |
|
380
|
1 |
0 |
unless $^O =~ /aix/i |
|
381
|
0 |
0 |
unless _configExternalProgram("bindprocessor") |
|
384
|
0 |
0 |
unless $AIX_HINTS |
|
389
|
0 |
0 |
unless $bindprocessor_output |
|
398
|
1 |
0 |
unless $^O =~ /aix/i |
|
399
|
0 |
0 |
unless _configExternalProgram("lsdev") |
|
406
|
1 |
0 |
unless $^O =~ /bsd/i |
|
409
|
0 |
0 |
if (-r '/var/run/dmesg.boot' and open my $fh, '<', '/var/run/dmesg.boot') { } |
|
|
0 |
0 |
elsif (not _configExternalProgram('dmesg')) { } |
|
432
|
0 |
0 |
if (@d > 0) |
|
438
|
0 |
0 |
unless ($ncpus) |
|
443
|
0 |
0 |
if ($dmesg =~ /^cpu(\d+) at /) |
|
450
|
0 |
0 |
if (@dmesg < 50) |
|
457
|
1 |
0 |
unless $^O =~ /solaris/i |
|
458
|
0 |
0 |
unless defined &Sys::CpuAffinity::xs_solaris_numCpus |
|
464
|
1 |
0 |
unless defined &Sys::CpuAffinity::xs_num_cpus_freebsd |
|
469
|
1 |
0 |
unless $^O =~ /solaris/i |
|
470
|
0 |
0 |
unless _configExternalProgram("dmesg") |
|
479
|
0 |
0 |
if ($dmesg =~ /is bound to cpu (\d+)/) |
|
481
|
0 |
0 |
if ($ncpus <= $n) |
|
485
|
0 |
0 |
if ($dmesg =~ /^cpu(\d+):/) |
|
487
|
0 |
0 |
if ($ncpus <= $n) |
|
496
|
0 |
0 |
if ($ncpus == 0) |
|
505
|
0 |
1 |
unless _configExternalProgram("sysctl") |
|
510
|
1 |
0 |
if @results == 0 |
|
513
|
0 |
0 |
if ($ncpus == 0) |
|
518
|
0 |
0 |
if ($ncpus == 0) |
|
523
|
0 |
0 |
if ($ncpus == 0) |
|
536
|
1 |
0 |
unless _configExternalProgram("psrinfo") |
|
544
|
0 |
1 |
if $^O =~ /irix/i |
|
545
|
1 |
0 |
unless _configExternalProgram("hinv") |
|
549
|
0 |
0 |
if ($Sys::CpuAffinity::IS_TEST and not $Sys::CpuAffinity::HINV_CALLED++) |
|
564
|
0 |
0 |
if ($ncpu == 0) |
|
574
|
1 |
0 |
unless $^O =~ /darwin/i or $^O =~ /MacOS/i |
|
575
|
0 |
0 |
unless _configExternalProgram("hwprefs") |
|
584
|
1 |
0 |
unless $^O =~ /darwin/ or $^O =~ /MacOS/i |
|
585
|
0 |
0 |
unless _configExternalProgram("system_profiler") |
|
597
|
0 |
0 |
unless (defined $ncpus) |
|
605
|
1 |
0 |
unless $^O =~ /aix/i |
|
606
|
0 |
0 |
unless _configExternalProgram("prtconf") |
|
611
|
0 |
0 |
unless (defined $AIX_prtconf_cache) |
|
614
|
0 |
0 |
unless $result |
|
622
|
1 |
0 |
unless _configModule("Test::Smoke::SysInfo") |
|
624
|
0 |
0 |
if (defined $sysinfo and defined $sysinfo->{'_ncpu'}) |
|
634
|
0 |
1 |
unless $^O =~ /linux/i |
|
636
|
0 |
1 |
unless $taskset |
|
646
|
1 |
0 |
if ($mask) |
|
658
|
0 |
0 |
if ($n > 1) |
|
665
|
0 |
0 |
if $n >= 256 |
|
676
|
7 |
0 |
if $^O ne "MSWin32" and $^O ne "cygwin" |
|
677
|
0 |
0 |
unless _configModule("Win32::API") |
|
680
|
0 |
0 |
if ($^O eq "cygwin") |
|
684
|
0 |
0 |
unless $pid |
|
686
|
0 |
0 |
if ($pid > 0) { } |
|
701
|
0 |
0 |
unless $processHandle |
|
702
|
0 |
0 |
unless _win32api("GetProcessAffinityMask", $processHandle, $processMask, $systemMask) |
|
722
|
0 |
0 |
unless ($threadHandle) |
|
749
|
0 |
0 |
if ($result == 0) |
|
756
|
0 |
0 |
if ($processMask == 0) |
|
765
|
0 |
0 |
if ($previous_affinity == 0) |
|
771
|
0 |
0 |
if ($previous_affinity != $processMask) |
|
776
|
0 |
0 |
if ($new_affinity == 0) |
|
816
|
7 |
0 |
if $^O ne "MSWin32" and $^O ne "cygwin" |
|
817
|
0 |
0 |
unless _configModule("Win32::Process") |
|
818
|
0 |
0 |
if $pid < 0 |
|
820
|
0 |
0 |
if ($^O eq "cygwin") |
|
822
|
0 |
0 |
unless defined $pid |
|
826
|
0 |
0 |
if (not Win32::Process::Open($processHandle, $pid, 0) or ref $processHandle ne "Win32::Process") |
|
830
|
0 |
0 |
unless ($processHandle->GetProcessAffinityMask($processMask, $systemMask)) |
|
839
|
0 |
7 |
if $^O ne "linux" |
|
840
|
0 |
7 |
unless _configExternalProgram("taskset") |
|
845
|
6 |
1 |
unless $taskset_output |
|
854
|
0 |
2 |
if (length $mask > 8) { } |
|
865
|
0 |
50 |
unless defined &Sys::CpuAffinity::xs_sched_getaffinity_get_affinity |
|
868
|
44 |
6 |
if ($r) |
|
878
|
0 |
0 |
unless defined &Sys::CpuAffinity::xs_sched_getaffinity_get_affinity |
|
881
|
0 |
0 |
if ($r) |
|
889
|
7 |
0 |
unless $^O =~ /solaris/i |
|
890
|
0 |
0 |
unless _configExternalProgram("pbind") |
|
894
|
0 |
0 |
if ($pbind_output eq "" and $? == 0) |
|
897
|
0 |
0 |
if (kill 'ZERO', $pid) { } |
|
910
|
0 |
0 |
if ($pbind_output =~ /not bound/) { } |
|
|
0 |
0 |
elsif ($pbind_output =~ /: (\d+)/) { } |
|
|
0 |
0 |
elsif ($pbind_output =~ / bound to proces\S+\s+(.+)\.$/) { } |
|
912
|
0 |
0 |
if ($np > 0) { } |
|
924
|
0 |
0 |
unless (defined $cpus) |
|
935
|
7 |
0 |
unless $^O =~ /aix/i |
|
937
|
0 |
0 |
unless $pscmd |
|
939
|
0 |
0 |
unless $AIX_HINTS |
|
942
|
0 |
0 |
unless $data |
|
948
|
0 |
0 |
if ($ipid ne "" and $ibnd) |
|
951
|
0 |
0 |
if ($pidd == $pid) |
|
954
|
0 |
0 |
if ($bndd eq "-") |
|
957
|
0 |
0 |
if ($AIX_HINTS) |
|
969
|
7 |
0 |
unless defined &Sys::CpuAffinity::xs_getaffinity_processor_affinity |
|
972
|
0 |
0 |
if ($ret == 0) |
|
981
|
7 |
0 |
unless defined &Sys::CpuAffinity::xs_getaffinity_processor_bind |
|
982
|
0 |
0 |
unless $^O =~ /solaris/i |
|
983
|
0 |
0 |
if _is_solarisMultiCpuBinding() |
|
986
|
0 |
0 |
if ($ret == 0) |
|
995
|
7 |
0 |
unless $^O =~ /bsd/i |
|
996
|
0 |
0 |
unless _configModule("BSD::Process::Affinity", "0.04") |
|
999
|
0 |
0 |
unless (eval {
do {
my $affinity = BSD::Process::Affinity::get_process_mask($pid);
$mask = $affinity->get;
1
}
}) |
|
1012
|
7 |
0 |
unless $^O =~ /bsd/i |
|
1013
|
0 |
0 |
unless _configExternalProgram("cpuset") |
|
1022
|
0 |
0 |
if ($cpuset_output =~ /NaN/i) |
|
1026
|
0 |
0 |
if (@cpus > 0) |
|
1034
|
7 |
0 |
unless defined &Sys::CpuAffinity::xs_getaffinity_freebsd |
|
1037
|
0 |
0 |
if ($ret == 0) |
|
1045
|
0 |
0 |
unless (defined &Sys::CpuAffinity::xs_getaffinity_freebsd) |
|
1046
|
0 |
0 |
if ($^O =~ /bsd/) |
|
1054
|
0 |
0 |
if ($ret == 0) |
|
1063
|
0 |
7 |
if ($^O =~ /cygwin/) |
|
1065
|
0 |
0 |
unless defined $pid |
|
1068
|
2 |
5 |
if ($pid < 0) { } |
|
|
1 |
4 |
elsif ($opid == $$) { } |
|
|
0 |
4 |
elsif (defined &Sys::CpuAffinity::xs_win32_getAffinity_proc) { } |
|
1069
|
2 |
0 |
unless defined &Sys::CpuAffinity::xs_win32_getAffinity_thread |
|
1072
|
0 |
1 |
if (defined &Sys::CpuAffinity::xs_win32_getAffinity_proc) { } |
|
|
0 |
1 |
elsif (defined &Sys::CpuAffinity::xs_win32_getAffinity_thread) { } |
|
1090
|
7 |
0 |
unless $^O =~ /bsd/ |
|
1093
|
0 |
0 |
if $pid != $$ |
|
1094
|
0 |
0 |
unless defined &Sys::CpuAffinity::xs_pthread_self_getaffinity |
|
1096
|
0 |
0 |
if ($z == 0) |
|
1110
|
0 |
0 |
if ($y) { } |
|
1124
|
7 |
0 |
unless $^O =~ /irix/i |
|
1125
|
0 |
0 |
unless defined &Sys::CpuAffinity::xs_irix_sysmp_getaffinity |
|
1127
|
0 |
0 |
if ($result < -1) { } |
|
|
0 |
0 |
elsif ($result == -1) { } |
|
1143
|
16 |
0 |
if $^O ne "MSWin32" and $^O ne "cygwin" |
|
1144
|
0 |
0 |
unless _configModule("Win32::API") |
|
1149
|
0 |
0 |
if ($^O eq "cygwin") |
|
1151
|
0 |
0 |
if ($DEBUG) |
|
1154
|
0 |
0 |
unless defined $pid |
|
1157
|
0 |
0 |
if ($pid > 0) { } |
|
1161
|
0 |
0 |
if ($DEBUG) |
|
1164
|
0 |
0 |
unless $processHandle |
|
1183
|
0 |
0 |
unless $threadHandle |
|
1186
|
0 |
0 |
if ($previous_affinity == 0) |
|
1196
|
16 |
0 |
if $^O ne "MSWin32" |
|
1197
|
0 |
0 |
unless _configModule("Win32::Process") |
|
1199
|
0 |
0 |
if ($^O eq "cygwin") |
|
1202
|
0 |
0 |
if ($DEBUG) |
|
1205
|
0 |
0 |
unless defined $pid |
|
1209
|
0 |
0 |
if (not Win32::Process::Open($processHandle, $pid, 0) or ref $processHandle ne "Win32::Process") |
|
1220
|
0 |
0 |
if ($^O eq "MSWin32" and $v lt '3.51' || $v ge '6.0') |
|
1221
|
0 |
0 |
if ($DEBUG) |
|
1229
|
0 |
0 |
if (_configModule("Win32")) |
|
1230
|
0 |
0 |
unless (Win32::IsWinNT()) |
|
1231
|
0 |
0 |
if ($DEBUG) |
|
1246
|
0 |
5 |
if $^O ne "linux" or not _configExternalProgram("taskset") |
|
1253
|
4 |
1 |
if ($taskset_status) |
|
1262
|
0 |
16 |
unless defined &Sys::CpuAffinity::xs_sched_setaffinity_set_affinity |
|
1269
|
5 |
0 |
unless $^O =~ /bsd/i |
|
1270
|
0 |
0 |
unless _configModule("BSD::Process::Affinity", "0.04") |
|
1272
|
0 |
0 |
if (not eval {
do {
my $affinity = BSD::Process::Affinity::get_process_mask($pid);
$affinity->set($mask)->update;
1
}
}) |
|
1282
|
1 |
0 |
unless $^O =~ /bsd/i |
|
1283
|
0 |
0 |
unless _configModule("BSD::Process::Affinity", "0.04") |
|
1291
|
5 |
0 |
unless $^O =~ /aix/i |
|
1292
|
0 |
0 |
if $pid < 0 |
|
1293
|
0 |
0 |
unless _configExternalProgram("bindprocessor") |
|
1296
|
0 |
0 |
unless $AIX_HINTS |
|
1300
|
0 |
0 |
if (@cores == $Sys::CpuAffinity::AIX_HINTS->{'NUM_CORES'}) { } |
|
|
0 |
0 |
elsif (@cores > 1) { } |
|
1310
|
5 |
0 |
unless $^O =~ /solaris/i |
|
1311
|
0 |
0 |
unless _configExternalProgram("pbind") |
|
1318
|
0 |
0 |
if (@mask == $np) { } |
|
1331
|
5 |
0 |
unless $^O =~ /solaris/i |
|
1332
|
0 |
0 |
unless defined &Sys::CpuAffinity::xs_setaffinity_processor_affinity |
|
1335
|
0 |
0 |
if ($ret == 0) |
|
1343
|
5 |
0 |
unless $^O =~ /solaris/i |
|
1344
|
0 |
0 |
unless defined &Sys::CpuAffinity::xs_setaffinity_processor_bind |
|
1345
|
0 |
0 |
if _is_solarisMultiCpuBinding() |
|
1348
|
0 |
0 |
if ($ret == 0) |
|
1356
|
5 |
0 |
unless $^O =~ /bsd/i |
|
1357
|
0 |
0 |
unless _configExternalProgram("cpuset") |
|
1367
|
5 |
0 |
unless defined &Sys::CpuAffinity::xs_setaffinity_freebsd |
|
1376
|
0 |
16 |
if ($^O =~ /cygwin/) |
|
1378
|
0 |
0 |
unless defined $pid |
|
1381
|
2 |
14 |
if ($pid < 0) { } |
|
|
12 |
2 |
elsif ($opid == $$) { } |
|
|
0 |
2 |
elsif (defined &Sys::CpuAffinity::xs_win32_setAffinity_proc) { } |
|
1382
|
0 |
2 |
if (defined &Sys::CpuAffinity::xs_win32_setAffinity_thread) |
|
1385
|
0 |
0 |
if $r |
|
1389
|
0 |
12 |
if (defined &Sys::CpuAffinity::xs_win32_setAffinity_proc) |
|
1393
|
0 |
12 |
if ($^O eq "cygwin" and defined &Sys::CpuAffinity::xs_win32_setAffinity_thread) |
|
1395
|
0 |
0 |
if $r |
|
1411
|
5 |
0 |
unless $^O =~ /bsd/i |
|
1414
|
0 |
0 |
if $$ != $pid |
|
1415
|
0 |
0 |
unless defined &Sys::CpuAffinity::xs_pthread_self_setaffinity |
|
1425
|
5 |
0 |
unless $^O =~ /irix/i |
|
1426
|
0 |
0 |
unless defined &Sys::CpuAffinity::xs_irix_sysmp_setaffinity |
|
1436
|
0 |
0 |
if ($np > 0 and $mask + 1 == &TWO() ** $np) { } |
|
1451
|
153 |
66 |
if ($mask & 1) |
|
1473
|
0 |
0 |
if ($] >= 5.008 and defined &Cygwin::pid_to_winpid) { } |
|
1486
|
0 |
0 |
unless $pid |
|
1487
|
0 |
0 |
if ($pid == $cygwinpid) |
|
1501
|
31 |
0 |
unless $DEBUG |
|
1513
|
0 |
5 |
if defined $MODULE{$module} |
|
1515
|
1 |
4 |
if (eval "require $module") { } |
|
1517
|
1 |
0 |
if (not $@ and !$version || $version <= $v) { } |
|
1534
|
23 |
18 |
if defined $PROGRAM{$program} |
|
1535
|
0 |
18 |
if (-x $program) |
|
1540
|
18 |
0 |
if ($^O ne "MSWin32") |
|
1544
|
11 |
7 |
if ($which =~ / not in / or $which =~ /no \Q$program\E in / or $which =~ /Command not found/ or not -x $which) |
|
1552
|
7 |
11 |
if ($which) |
|
1559
|
2 |
9 |
if (@PATH == 0) |
|
1566
|
0 |
143 |
if (-x "$dir/$program") |
|
1621
|
0 |
0 |
unless _configModule("Win32::API") |
|
1622
|
0 |
0 |
unless (defined $WIN32API{$function}) |
|
1625
|
0 |
0 |
if not defined $WIN32API{$function} or $WIN32API{$function} == 0 |
|
1633
|
0 |
0 |
unless (defined $spec) |
|
1642
|
0 |
0 |
if ($!) |