From patchwork Mon Nov 6 13:37:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 118046 Delivered-To: patch@linaro.org Received: by 10.140.22.164 with SMTP id 33csp2775984qgn; Mon, 6 Nov 2017 05:38:20 -0800 (PST) X-Google-Smtp-Source: ABhQp+SCJWMoPjYs6XKiRj2bKd3q5oFwiv8uY69yGIiO1o3lXEZVtLaqkZxIB2EQTgQ3eiOlzE3t X-Received: by 10.99.96.136 with SMTP id u130mr14975416pgb.255.1509975500269; Mon, 06 Nov 2017 05:38:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1509975500; cv=none; d=google.com; s=arc-20160816; b=RU1muDcHqqXSdOq3VyVeeKTwdnIQEhL35foiN2df2r29ebbXPaJdYQrI0a89pHraBo bUl7nDDhbk/eGnVh8vsxLXkFvQ/fOJ3nbQGodA3WvITM/Hyw7SdRkibPbqH4SdWbdRJh rYxJaq4S75S3IwbcPrw9lQyBF7qlUp1GLUR/34exlaa9sjVDX9mi4hQHSd17v8wbIcOo VkPGd9eUzQWn1W3Npx5uOL8dPFHYYj2LdWX4N+iZ+h4kAOAmuyRndBgSUQ7fKKGEGzXl 6+u6sdno3cGg+pxGkTyoxylGdTiRWvo34JI7XAYzF5FC4zgUsJLnVZ6E4J0VKAQ2ZzG+ 134Q== 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:to:from:delivered-to :sender:list-help:list-post:list-archive:list-subscribe :list-unsubscribe:list-id:precedence:mailing-list:dkim-signature :domainkey-signature:arc-authentication-results; bh=EIif7et0sOksqUQMhf7dsygIDxzeRnRKq1PM8bAYsK8=; b=014arcyDlrTIoqYEKAmj+PO5O6c1Eka1EBU7g7UirbOy5tz9asB8zZU4CzjeKkSCkl 7yyuGhceC6etxo4qjoGsnWK6Ul4hhbNfiE8ilEX+70K2tf8agc49pcTnHSVyFS6S4xmO gFPbjDc38hyn9pyJr6PtXysUw4peHuhjvCICPN5kYmHmRV+aFPQ7LOFKapVRc3QIGNuC Y2ow6Nar7vJqIQF961wJfJ4lRvfG/BIc5NFMz+q1VvqmhzLlX+vO/wV1dUS47+NfVenS F84JW+8XUzv7kpeLEY9Jjxm6W7GIa/G1k//QY94e3OX+KyNj/4bAocyOSlVWWJOg8I5S dy2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=NP0c9Qz3; spf=pass (google.com: domain of libc-alpha-return-86796-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-86796-patch=linaro.org@sourceware.org; dmarc=fail (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 g1si10446829plm.520.2017.11.06.05.38.20 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Nov 2017 05:38:20 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-return-86796-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=NP0c9Qz3; spf=pass (google.com: domain of libc-alpha-return-86796-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-86796-patch=linaro.org@sourceware.org; dmarc=fail (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:subject:date:message-id:in-reply-to :references; q=dns; s=default; b=WSHfyY6DckmL+rTqTebHSn55jo58hEO rqohPtcUKCuiQggj4lpnG5x8YHNqPJljLHWvM04lmQCPE+50lF1hYBFZ3AAtiAhu ktC/F0R9n26LOGMyYGC4Dp4bKygrXRa2Kc6lYndhaHSp+uO2TkxN7uB5uL1miqVD OVWfZE4Jefg0= 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:subject:date:message-id:in-reply-to :references; s=default; bh=0W9ARnWjESLBrRDhmZl5aDVMpyQ=; b=NP0c9 Qz3BWNbrJ3oLnk5oOOR4tvDwlnaaYUQwWq0I8wde0b/rEWBSSmPqboYh9+1RdHvh Lu85s3EeYneu7HCS8GapM2JEM3GfukK6mReklBDh3f4Qjouvc6oPaMiBP6oCE1lU lSwQzkmo4dAIIL0ziE3gLh/Rtn408+yuBIRVl0= Received: (qmail 34169 invoked by alias); 6 Nov 2017 13:37:26 -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 34035 invoked by uid 89); 6 Nov 2017 13:37:25 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM, SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1012 X-HELO: mail-qk0-f194.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=EIif7et0sOksqUQMhf7dsygIDxzeRnRKq1PM8bAYsK8=; b=SE6TGFnGj6JV2+6jpQhhvS6P+IOfLplEri6aeoeUHzCuAnAInBvcYbhMXYewxrv5sM aOQesoZ7+WyeBAkjpW9q+VcHvGHbSZC0RBkz71AYXDJ3JLx76j5thxCblt4alwnWoJze 8TPVcICHsl39FVPSr6AicN8icoy4c94MzUMh09wNf7+i9Dn+DGQGIUkY8d7SydWtvcNM J5w3uIcfVbRR6jqA3Yb77/jv0hrJXIc9rXZM8Mx2fsjFruPJCm/EawtXvK675fGr8l3e aBwfSg4+j0kTPfepUJlMF91yY6ZOnZQ2i1N2AC9Iqknyqiyduy0OgmM5xjEE8DkiRgxM R2bg== X-Gm-Message-State: AJaThX4ir29XCsa8ebMSp92Nc+Z4Jkip/eVxDEPeKSfcn1E5Guu+Ho+v NjDfwxBT3mTZr46L0yByj1SRyxAhE9U= X-Received: by 10.55.19.19 with SMTP id d19mr5501283qkh.189.1509975442494; Mon, 06 Nov 2017 05:37:22 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH v2 6/8] Optimize sighold implementation Date: Mon, 6 Nov 2017 11:37:04 -0200 Message-Id: <1509975426-1772-6-git-send-email-adhemerval.zanella@linaro.org> In-Reply-To: <1509975426-1772-1-git-send-email-adhemerval.zanella@linaro.org> References: <1509975426-1772-1-git-send-email-adhemerval.zanella@linaro.org> This patch simplifies sighold a bit by removing an extra sigprocmask and using SIG_BLOCK (which union of the current set and the set argument). Checked on x86_64-linux-gnu. * signal/sighold.c (sighold): Optimize implementation. Signed-off-by: Adhemerval Zanella Reviewed-by: Zack Weinberg --- ChangeLog | 2 ++ signal/sighold.c | 10 ++-------- 2 files changed, 4 insertions(+), 8 deletions(-) -- 2.7.4 diff --git a/signal/sighold.c b/signal/sighold.c index 2e32e47..955ac5b 100644 --- a/signal/sighold.c +++ b/signal/sighold.c @@ -26,14 +26,8 @@ sighold (int sig) { sigset_t set; - /* Retrieve current signal set. */ - if (__sigprocmask (SIG_SETMASK, NULL, &set) < 0) - return -1; - - /* Add the specified signal. */ + sigemptyset (&set); if (sigaddset (&set, sig) < 0) return -1; - - /* Set the new mask. */ - return __sigprocmask (SIG_SETMASK, &set, NULL); + return __sigprocmask (SIG_BLOCK, &set, NULL); }