| line | true | false | branch | 
 
| 241 | 0 | 7 | if ($^O =~ /^MSWin/) | 
 
| 261 | 7 | 0 | unless ($$self{'sdir'}) | 
 
| 262 | 7 | 0 | if (not $^O =~ /^MSWin/) { } | 
 
| 263 | 7 | 0 | -d '/var/tmp' ? : | 
 
| 274 | 0 | 7 | unless -d $sdir | 
 
| 275 | 0 | 7 | unless -d $sdir | 
 
| 278 | 0 | 7 | if ($opthash{'debug'}) | 
 
| 281 | 0 | 0 | if ($size and $size > 102400) | 
 
| 284 | 0 | 0 | unless open $_debugfh, '>>', $file | 
 
| 288 | 0 | 0 | if ($@) | 
 
| 294 | 0 | 7 | if (-e $rdir and not -d $rdir) | 
 
| 298 | 0 | 7 | unless (-d $rdir) | 
 
| 299 | 0 | 0 | unless mkpath($rdir) | 
 
| 307 | 132 | 0 | unless $_debugfh | 
 
| 312 | 0 | 0 | unless $msg =~ /\n$/ | 
 
| 313 | 0 | 0 | $INC{'Time/HiRes.pm'} ? : | 
 
| 326 | 0 | 3 | if not $pid or $pid <= 0 | 
 
| 328 | 3 | 0 | unless ($^O =~ /^MSWin/) | 
 
| 336 | 0 | 0 | if (Win32::Process::Open($process, $pid, 0)) | 
 
| 341 | 0 | 0 | if ($RC == Win32::Process::STILL_ACTIVE()) | 
 
| 364 | 0 | 0 | if ($_unix_grandch_pid) | 
 
| 376 | 3 | 0 | if ($child == $_unix_grandch_pid) | 
 
| 380 | 0 | 3 | unless open RC, '>', $_unix_grandch_dir . "/RC=$RC" | 
 
| 383 | 0 | 3 | unless open I, '>>', $_unix_grandch_dir . '/info' | 
 
| 402 | 0 | 15 | unless defined $childpid | 
 
| 404 | 6 | 9 | if ($childpid == 0) | 
 
| 409 | 0 | 6 | unless open I, '>', $pdir . '/info' | 
 
| 423 | 0 | 6 | unless open STDOUT, '>', $pdir . '/STDOUT' | 
 
| 425 | 0 | 6 | unless open STDERR, '>', $pdir . '/STDERR' | 
 
| 428 | 6 | 0 | if ($$opt{'_closefdmax'} >= 3) | 
 
| 430 | 60 | 0 | unless $_debugfh and $fd == fileno $_debugfh | 
 
| 442 | 3 | 3 | if ($_unix_grandch_pid == 0) | 
 
| 455 | 3 | 1 | if -e $pdir . '/start' | 
 
| 460 | 0 | 0 | unless exec @cmd | 
 
| 463 | 0 | 3 | unless defined $_unix_grandch_pid | 
 
| 474 | 1 | 2 | $$opt{'timeout'} ? : | 
 
| 484 | 2 | 1 | if $remain > 60 | 
 
| 487 | 3 | 0 | if $_unix_grandch_pid | 
 
| 494 | 1 | 2 | if ($_unix_grandch_pid and kill 0, $_unix_grandch_pid) | 
 
| 496 | 0 | 1 | unless open I, '>>', $pdir . '/info' | 
 
| 521 | 0 | 0 | if $_debugfh | 
 
| 522 | 0 | 0 | $$opt{'timeout'} ? : | 
 
| 523 | 0 | 0 | if $timeout > 0 | 
 
| 531 | 0 | 0 | unless Win32::Process::Create($process, $^X, $Arg, 0, 0, '.') | 
 
| 538 | 0 | 0 | unless open I, '>', $pdir . '/info' | 
 
| 560 | 1 | 1 | if kill -15, $p and select(undef, undef, undef, 0.2), kill(-3, $p) | 
 
| 564 | 0 | 2 | if kill 15, $p and select(undef, undef, undef, 0.2), kill(3, $p) | 
 
| 567 | 2 | 0 | unless kill 0, $p | 
 
| 595 | 10 | 67 | if /^pid=(\d+)/ | 
 
| 596 | 7 | 70 | if /^RC=(\d+)/ | 
 
| 599 | 7 | 3 | defined $RC ? : | 
 
| 606 | 0 | 0 | unless opendir D, $sdir | 
 
| 608 | 0 | 0 | if ($d =~ /^PPC-/) | 
 
| 625 | 1 | 0 | if (opendir DD, $pdir) { } | 
 
| 628 | 1 | 6 | if $f =~ /pid=(\d+)$/ | 
 
| 631 | 0 | 1 | unless $pid | 
 
| 648 | 0 | 2 | unless open I, $infofile | 
 
| 652 | 17 | 0 | if /([^=]+)=(.*)/ | 
 
| 657 | 0 | 2 | if $^O =~ /^MSWin/ | 
 
| 668 | 0 | 2 | unless opendir D, $pdir | 
 
| 671 | 2 | 14 | if /^pid=(\d+)/ | 
 
| 672 | 2 | 14 | if /^RC=(\d+)/ | 
 
| 675 | 2 | 0 | if exists $ret{'_RC'} | 
 
| 676 | 0 | 0 | if ($ret{'_pid'}) | 
 
| 678 | 0 | 0 | if $pidalive | 
 
| 683 | 2 | 0 | if (exists $ret{'_RC'}) { } | 
 
| 686 | 0 | 0 | if ($pidalive) { } | 
 
| 715 | 0 | 0 | if (not $in[0]) { } | 
 
| 721 | 0 | 0 | if -f $pdir . '/info' | 
 
| 744 | 0 | 27 | if $o =~ /=/ | 
 
| 745 | 0 | 27 | if $o =~ /^_/ | 
 
| 752 | 0 | 15 | unless $psd and -d $psd | 
 
| 761 | 15 | 0 | !($^O =~ /^MSWin/) ? : | 
 
| 773 | 9 | 9 | if -e $psd . '/start' | 
 
| 778 | 9 | 0 | if (-e $psd . '/start') { } | 
 
| 804 | 0 | 0 | if ($key) | 
 
| 806 | 0 | 0 | unless $$i{$key} eq $val | 
 
| 831 | 0 | 0 | unless (_UID_alive $$self{'sdir'}, $UID) | 
 
| 862 | 0 | 1 | unless &Proc::PersistentControl::_UID_alive($$self{'_controller'}{'sdir'}, $$self{'_PPCUID'}) | 
 
| 870 | 1 | 0 | !($^O =~ /^MSWin/) ? : | 
 
| 876 | 1 | 0 | unless $self->IsAlive | 
 
| 880 | 0 | 1 | if $self->IsAlive | 
 
| 914 | 0 | 2 | unless $self->IsRipe | 
 
| 922 | 2 | 0 | if (not -d $target) { } | 
 
| 923 | 0 | 0 | unless rename $source, $target or move($source, $target) or Proc::PersistentControl::debug("rename/1st move($source, $target) failed, trying again"), select(undef, undef, undef, 0.2), move($source, $target) or Proc::PersistentControl::debug("2nd move($source, $target) failed, trying again"), select(undef, undef, undef, 0.8), move($source, $target) | 
 
| 936 | 0 | 2 | unless -d $target | 
 
| 950 | 2 | 4 | if (-d $pdir) | 
 
| 951 | 0 | 2 | unless rmtree($pdir) |