AC-DC
    
    
  
  
  
view release on metacpan or search on metacpan
lib/AC/DC/IO/Forked.pm view on Meta::CPAN
        problem("socketpair failed: $!");
        return ;
    }
    my $pid = fork();
    if( !defined($pid) ){
        problem("cannot fork: $!");
        return ;
    }elsif( $pid ){
        # parent
        close $fdb;
    }else{
        # child
        close $fda;
        eval { $me->_do_child($fdb) };
        _exit( $@ ? 1 : 0 );
    }
    $me->{pid} = $pid;
    $me->init($fda);
lib/AC/Daemon.pm view on Meta::CPAN
        print PID "$$\n";
        print PID "# @argv\n";
        close PID;
    }
    # run as 2 processes
    while(1){
	$childpid = fork;
	die "cannot fork: $!\n" unless defined $childpid;
        if( $childpid ){
            # parent
            wait;
            $childpid = undef;
            sleep $tout;
        }else{
            # child
            return;
        }
    }
}
( run in 0.285 second using v1.01-cache-2.11-cpan-c333fce770f )