From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-3.9 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id B943C1F4B5 for ; Thu, 14 Nov 2019 14:47:36 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id:in-reply-to :references; q=dns; s=default; b=MKyMtHu4OUJfnoAhd+wjL7jWiTHBK59 H4UCcDzsj5IjpzUDl8FXPpoImQKcvKN34CcLybnV+diMZ4vk8IsMxkSqttM9ZjPr la0stgt7An32TnhdxdH2vIiSRYClGiH0wZkVyz+6pldlkRf8sQyz5Q6oxwUO1H8Q O4U4ZEtfIFhs= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id:in-reply-to :references; s=default; bh=fqlkMXHUp6XlXMWVvWWsA5l9zZ0=; b=wsq1Y R80ZpKYdZXKNX97Y3mWSnEfIub+P84uAa2veNemIR/xCIDzeymzjk/35xJgxSVj2 4vC69It4bGQQRvzrlNEezOpMlPNaCd3nt2EDKf8dk3rkyIeHBVpKDPeSgshNy0RW C9pf3RGsm/FHyZ5v4qwhkxEEzx27vLsK/eRni4= Received: (qmail 29562 invoked by alias); 14 Nov 2019 14:47:19 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 29469 invoked by uid 89); 14 Nov 2019 14:47:19 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: mail-qt1-f193.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Z6SLZq1tm477cM4QN+7XZKMHajeWyJcEu7ySStf5JPU=; b=hlqNVYFT/jYX6JFgE9etFbB02TejWo83gyJr84b5JHwBH/PWuvGmBJDSf30V9pzXT6 n+af0I/VnofR4MB8tMHqZT5N7OVq1xfJKcj9N5QniwtUmHT2X06zTMEX1+WH6YqwLu/q Jp6JNSSu7pcIAz5HIPVTZJU4Dg14yLXYPmfVRxyy2xPGXgwQ1axkieiLnUgIZhsu/e8r GQBWUBdlKMWoVPqqb2WgcU/i/aWAluOLNa42ZganDQ7ghSKXi9h8p/5T0oqXGQemvx+3 J7uhuCiVP8MefllL16AIQNQ2yD4Um5BGDXNK4PJKuY1kxrQm8sDSK6tBkfHLbANalDuJ SkQQ== From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Alistair Francis , alistair23@gmail.com Subject: [PATCH 4/7] Implement wait in terms of waitpid Date: Thu, 14 Nov 2019 11:47:01 -0300 Message-Id: <20191114144704.19002-4-adhemerval.zanella@linaro.org> In-Reply-To: <20191114144704.19002-1-adhemerval.zanella@linaro.org> References: <20191114144704.19002-1-adhemerval.zanella@linaro.org> The posix implementation is used as default and both bsd and linux version are removed. It simplifies the implementation for architectures that does not provide either __NR_waitpid or __NR_wait4. Checked on x86_64-linux-gnu and powerpc64le-linux-gnu. --- posix/wait.c | 6 +----- sysdeps/posix/wait.c | 30 ----------------------------- sysdeps/unix/bsd/wait.c | 32 ------------------------------- sysdeps/unix/sysv/linux/wait.c | 35 ---------------------------------- 4 files changed, 1 insertion(+), 102 deletions(-) delete mode 100644 sysdeps/posix/wait.c delete mode 100644 sysdeps/unix/bsd/wait.c delete mode 100644 sysdeps/unix/sysv/linux/wait.c diff --git a/posix/wait.c b/posix/wait.c index 0acd1e4926..908e15030a 100644 --- a/posix/wait.c +++ b/posix/wait.c @@ -16,16 +16,12 @@ . */ #include -#include /* Wait for a child to die. When one does, put its status in *STAT_LOC and return its process ID. For errors, return (pid_t) -1. */ __pid_t __wait (int *stat_loc) { - __set_errno (ENOSYS); - return -1; + return __waitpid (WAIT_ANY, (int *) stat_loc, 0); } -stub_warning (wait) - weak_alias (__wait, wait) diff --git a/sysdeps/posix/wait.c b/sysdeps/posix/wait.c deleted file mode 100644 index 573aa47a6d..0000000000 --- a/sysdeps/posix/wait.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1991-2019 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include - - -/* Wait for a child to die. When one does, put its status in *STAT_LOC - and return its process ID. For errors, return (pid_t) -1. */ -__pid_t -__libc_wait (int *stat_loc) -{ - return __waitpid (WAIT_ANY, (int *) stat_loc, 0); -} - -weak_alias (__libc_wait, __wait) -weak_alias (__libc_wait, wait) diff --git a/sysdeps/unix/bsd/wait.c b/sysdeps/unix/bsd/wait.c deleted file mode 100644 index 3207d96330..0000000000 --- a/sysdeps/unix/bsd/wait.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1991-2019 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include -#include -#include -#include - -/* Wait for a child to die. When one does, put its status in *STAT_LOC - and return its process ID. For errors, return (pid_t) -1. */ -__pid_t -__libc_wait (int *stat_loc) -{ - return __wait4 (WAIT_ANY, stat_loc, 0, (struct rusage *) NULL); -} - -weak_alias (__libc_wait, __wait) -weak_alias (__libc_wait, wait) diff --git a/sysdeps/unix/sysv/linux/wait.c b/sysdeps/unix/sysv/linux/wait.c deleted file mode 100644 index c2385c752e..0000000000 --- a/sysdeps/unix/sysv/linux/wait.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1991-2019 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include -#include -#include -#include -#include - -/* Wait for a child to die. When one does, put its status in *STAT_LOC - and return its process ID. For errors, return (pid_t) -1. */ -pid_t -__libc_wait (int *stat_loc) -{ - pid_t result = SYSCALL_CANCEL (wait4, WAIT_ANY, stat_loc, 0, - (struct rusage *) NULL); - return result; -} - -weak_alias (__libc_wait, __wait) -weak_alias (__libc_wait, wait) -- 2.17.1