From patchwork Thu Nov 14 14:47:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 179438 Delivered-To: patch@linaro.org Received: by 2002:a92:38d5:0:0:0:0:0 with SMTP id g82csp11155679ilf; Thu, 14 Nov 2019 06:47:45 -0800 (PST) X-Google-Smtp-Source: APXvYqxWWgneyst3cKsOcHDdSm87TQlfCM0Lcced7sAb+nBVb7fKYn73Q2AqR3Z59bVYpA79nuEe X-Received: by 2002:aa7:c894:: with SMTP id p20mr1695207eds.145.1573742865019; Thu, 14 Nov 2019 06:47:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573742865; cv=none; d=google.com; s=arc-20160816; b=wyJMbm0aQosJ3AkZrE/qnZ0SbltFDy8x+7FCYnOp2ONNHURzxPh05FFOQaU2M3LCBK LhBbYOJvqKC5ZlftfEYomrADIL8s4/o6e9ogO2qfg+x1rTOHt+6OxWr4E5VDLHPG58Tm CYrOKVkAWGXpcQzWYTbZdO/A2OYNdANSJtxy+E/OZLMnZPpkF3KD88X75VW59lXw5xF+ DczrqonLDxOR7tUFUdH1AegkOXinwAWQhTNjxJxZ5b7jW4IfgBc5uabWlVti1ouZ+2Jh IMO1hRWW1LK6EzRo92B8U8ryOpHnuay7J+j7aJIXBXo1KWxpywdfrB3SCpUg4P14uyGh GJaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:delivered-to:sender:list-help:list-post:list-archive :list-subscribe:list-unsubscribe:list-id:precedence:mailing-list :dkim-signature:domainkey-signature; bh=Z6SLZq1tm477cM4QN+7XZKMHajeWyJcEu7ySStf5JPU=; b=w6lx+vA0+cAwxWfVXJUI3HWXd5Igi1lkIUeg3zdAksKSOhHdGO6aQpsvFb7kc3CYO8 dG8hw9MRQH8xf4+Bg2H4BTLn6XcWdwhEefkszsAK5hN7va48+Ln0pUsn3+b8ACFfzZrv a+TBmd0EnJE7KJm5t9k3wwzmK4J8nBxOa0DaLSvuEXbWTNQuuimvv3XcNp6Nofht8oKl l/ukXD1frYkLjTUmKFdxaQiZTm9e5KhIEBrDR1c2pbOlpufPu5sXdyvnKTDFB1g+LJt8 n2j9tTgVW4VOT9uZRuJZiAS6OKPTPRWOCG5bTLzmhX0T9RqEAzHyt9PQ2VpvJOwjuDmO A5YA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=QDNmAQ4e; dkim=pass header.i=@linaro.org header.s=google header.b=hlqNVYFT; spf=pass (google.com: domain of libc-alpha-return-107082-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom="libc-alpha-return-107082-patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id x12si3541499eju.50.2019.11.14.06.47.44 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Nov 2019 06:47:44 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-return-107082-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=QDNmAQ4e; dkim=pass header.i=@linaro.org header.s=google header.b=hlqNVYFT; spf=pass (google.com: domain of libc-alpha-return-107082-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom="libc-alpha-return-107082-patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org 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=GbjDaOMxgKd8slY/Xo4yeH9qFaFLixA 2q10hiq3+xO30G556npekj45pruiZb4NC6/b/6530LaIpguJsvydzHKuGGmZrV0e pG67WwQZ2jhwiDnlN9LvU0fTsv7PmbUVZUPR8R/IGUNe4+xHdwqjSWy3NzPYlLoS Xj0cTdF3EgEc= 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=QDNmA Q4exOwZ75Dxp1KTZoI0T8/42KnyOAy+p4EnX7INRD1Q8I9hVWFWuQDxzTxBDR/cC 3m0irYiXUhvc5i/o2sNhbx/yQOPQiWpWerwUVtdpo5wy211Jb6126QcJf9Xf8q65 yFMJqx1aY9+Ac7wMsx6ppm33qPjrTj9Vx1gmr4= 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 Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 29469 invoked by uid 89); 14 Nov 2019 14:47:19 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-21.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy= 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== Return-Path: 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 -- 2.17.1 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)