All pastes #987296 Raw Edit

Someone

public text v1 · immutable
·published 2008-04-16 12:38 UTC
rendered paste body
while (1) {
        $SIG{CHLD} = 'IGNORE';
        unless ($apid){ die "MANAGER: Fork failed: $!" unless defined($astman_pid = fork()); $apid = $$; }
        if ($astman_pid) { &ASTMAN(); }
        unless ($xpid) { die "MANAGER: Fork failed: $!" unless defined($xmpp_pid = fork()); $xpid = $$; }
        if ($xmpp_pid) { &XMPPMAN(); }
        my $xq =`ps -p \"$apid\" | wc -l`;
        chomp($xq);
        if ($xq != 2) { $apid=$xpid;  $xpid ="";  # the wierd part it works, but why is apid taking xpid's PID??
                my $dnow = localtime time;
                `/bin/echo \"$dnow ===> XMPP death: \" >> /var/log/astrp_xmpp 2>&1`;
                print "reload\n";
                }
        sleep(3);
}