Initial revision
This commit is contained in:
parent
62b4e5546b
commit
d8fffb8dff
|
@ -0,0 +1,3 @@
|
|||
ifeq ($(subdir), posix)
|
||||
sysdep_routines := $(sysdep_routines) __wait4_syscall
|
||||
endif
|
|
@ -0,0 +1,22 @@
|
|||
/* Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
||||
Cambridge, MA 02139, USA. */
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
PSEUDO (__wait4_syscall, wait4)
|
||||
ret
|
|
@ -0,0 +1,44 @@
|
|||
/* This implements wait4 with the 4.4 BSD semantics (also those documented in
|
||||
SunOS 4.1) on top of SunOS's wait4 system call, which has semantics
|
||||
different from those documented. Go Sun!
|
||||
|
||||
Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
||||
Cambridge, MA 02139, USA. */
|
||||
|
||||
#include <ansidecl.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
#include <unistd.h>
|
||||
|
||||
pid_t
|
||||
DEFUN(__wait4, (pid, stat_loc, options, usage),
|
||||
pid_t pid AND union wait *stat_loc AND int options AND PTR usage)
|
||||
{
|
||||
switch (pid)
|
||||
{
|
||||
case WAIT_ANY:
|
||||
pid = 0;
|
||||
break;
|
||||
|
||||
case WAIT_MYPGRP:
|
||||
pid = - __getpgrp (0);
|
||||
break;
|
||||
}
|
||||
|
||||
return __wait4_syscall (pid, stat_loc, option, usage);
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
/* Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
||||
Cambridge, MA 02139, USA. */
|
||||
|
||||
#include <ansidecl.h>
|
||||
#include <errno.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
|
||||
/* Wait for a child matching PID to die.
|
||||
If PID is greater than 0, match any process whose process ID is PID.
|
||||
If PID is (pid_t) -1, match any process.
|
||||
If PID is (pid_t) 0, match any process with the
|
||||
same process group as the current process.
|
||||
If PID is less than -1, match any process whose
|
||||
process group is the absolute value of PID.
|
||||
If the WNOHANG bit is set in OPTIONS, and that child
|
||||
is not already dead, return (pid_t) 0. If successful,
|
||||
return PID and store the dead child's status in STAT_LOC.
|
||||
Return (pid_t) -1 for errors. If the WUNTRACED bit is set in OPTIONS,
|
||||
return status for stopped children; otherwise don't. */
|
||||
pid_t
|
||||
DEFUN(__waitpid, (pid, stat_loc, options),
|
||||
pid_t pid AND int *stat_loc AND int options)
|
||||
{
|
||||
return __wait4 (pid, stat_loc, options, NULL);
|
||||
}
|
Loading…
Reference in New Issue