summaryrefslogtreecommitdiff
path: root/bin/Process_Unix.pm
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-08-30 19:34:27 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-08-30 19:34:27 +0000
commit03154c9a5b9e8628d31bd9032549327d51304645 (patch)
treef4f85e04edaef6ed998a7953275ad3dcf1911fef /bin/Process_Unix.pm
parent73efbc1d2ad02533d865e1b14008ffc8d8bc82fb (diff)
downloadATCD-pre_multiple_profile_server.tar.gz
This commit was manufactured by cvs2svn to create tagpre_multiple_profile_server
'pre_multiple_profile_server'.
Diffstat (limited to 'bin/Process_Unix.pm')
-rw-r--r--bin/Process_Unix.pm73
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;