diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-09-13 00:26:05 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-09-13 00:26:05 +0000 |
commit | 7a042e4f8a987a50143415af690a878881d4b48f (patch) | |
tree | 338a92488326f0585d65743bd3d6ec0650fd6db1 /bin/Process_Unix.pm | |
parent | 9b50028195a935518c2716dcdb94d5bb167a0af2 (diff) | |
download | ATCD-TAO-1_0_4.tar.gz |
This commit was manufactured by cvs2svn to create tag 'TAO-1_0_4'.TAO-1_0_4
Diffstat (limited to 'bin/Process_Unix.pm')
-rw-r--r-- | bin/Process_Unix.pm | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/bin/Process_Unix.pm b/bin/Process_Unix.pm deleted file mode 100644 index af1041616ea..00000000000 --- a/bin/Process_Unix.pm +++ /dev/null @@ -1,73 +0,0 @@ -# $Id$ -package Process; - -use POSIX "sys_wait_h"; - -sub Create -{ - my $name = shift; - my $args = shift; - my $self = []; - - FORK: - { - if ($self->[0] = fork) - { - #parent here - bless $self; - } - elsif (defined $self->[0]) - { - #child here - exec $name." ".$args; - die "ERROR: exec failed for <$name> <$args>"; - } - elsif ($! =~ /No more process/) - { - #EAGAIN, supposedly recoverable fork error - sleep 5; - redo FORK; - } - else - { - # weird fork error - print STDERR "ERROR: Can't fork: $!\n"; - } - } -} - -sub Terminate -{ - my $self = shift; - kill ('TERM', $self->[0]); - # print STDERR "Process_Unix::Kill 'TERM' $self->[0]\n"; -} - -sub Kill -{ - my $self = shift; - kill ('KILL', $self->[0]); - # print STDERR "Process_Unix::Kill 'TERM' $self->[0]\n"; -} - -sub Wait -{ - my $self = shift; - waitpid ($self->[0], 0); -} - -sub TimedWait -{ - my $self = shift; - my $maxtime = shift; - while ($maxtime-- != 0) { - my $pid = waitpid ($self->[0], &WNOHANG); - if ($pid != 0 && $? != -1) { - return $?; - } - sleep 1; - } - return -1; -} - -1; |