diff options
Diffstat (limited to 'openbsd-compat')
-rw-r--r-- | openbsd-compat/Makefile.am | 6 | ||||
-rw-r--r-- | openbsd-compat/waitpid.c | 50 |
2 files changed, 1 insertions, 55 deletions
diff --git a/openbsd-compat/Makefile.am b/openbsd-compat/Makefile.am index eb75621d..3bccf09c 100644 --- a/openbsd-compat/Makefile.am +++ b/openbsd-compat/Makefile.am @@ -6,6 +6,7 @@ libopenbsd_compat_a_SOURCES += arc4random.c libopenbsd_compat_a_SOURCES += SSL_CTX_use_certificate_chain_mem.c libopenbsd_compat_a_SOURCES += base64.c libopenbsd_compat_a_SOURCES += bsd-misc.c +libopenbsd_compat_a_SOURCES += bsd-waitpid.c libopenbsd_compat_a_SOURCES += entropy.c libopenbsd_compat_a_SOURCES += event_asr_run.c libopenbsd_compat_a_SOURCES += getopt.c @@ -134,11 +135,6 @@ if NEED_STRNLEN libopenbsd_compat_a_SOURCES += strnlen.c endif -if NEED_WAITPID -libopenbsd_compat_a_SOURCES += waitpid.c -endif - - if !SUPPORT_ERR_H libopenbsd_compat_a_SOURCES += bsd-err.c diff --git a/openbsd-compat/waitpid.c b/openbsd-compat/waitpid.c deleted file mode 100644 index 3ef68a53..00000000 --- a/openbsd-compat/waitpid.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2000 Ben Lindstrom. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "includes.h" - -#include <errno.h> -#include <sys/wait.h> -#include "bsd-waitpid.h" - -pid_t -waitpid(int pid, int *stat_loc, int options) -{ - union wait statusp; - pid_t wait_pid; - - if (pid <= 0) { - if (pid != -1) { - errno = EINVAL; - return (-1); - } - /* wait4() wants pid=0 for indiscriminate wait. */ - pid = 0; - } - wait_pid = wait4(pid, &statusp, options, NULL); - if (stat_loc) - *stat_loc = (int) statusp.w_status; - - return (wait_pid); -} |