From nobody Mon Jun 16 08:53:59 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bLP1h1Glwz5VpgC; Mon, 16 Jun 2025 08:54:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bLP1g4d87z3wSn; Mon, 16 Jun 2025 08:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1750064039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l84g8cKXhYMV3vPFb3mB1OLKita99yzRKMKXjZxD15Y=; b=LuTNaBZSaD1eW2DxaTFCOWVJPVguwEc8QH+8je3Oh4pQP5cNi8n5tjMLuJfWOPZtFitKqj xflbvnndaZMuO3TVVBCww5bP+eKWO9UbD2j5XwThY1eNI/xU8lprkkFqcigbdxoGj+shzS nTwONCyYN4U76oFEzFhE9E7FInD+ufBzR1vV8jlubhTIbzLs3VbXE6gBVGNLk+pGCaJieF rBY5OxtlGDbk4stnjLGqDz9JZ+9oBgsFr2UDo5vruqu5oYeVHYncRwIXkzPXmMV0r0/V6x BWBWWuKG8Ta9RPP1RsJzA+jjqKGnNAp8p3csuBqMWq5guYQ562BH5IOzRjfQQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1750064039; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l84g8cKXhYMV3vPFb3mB1OLKita99yzRKMKXjZxD15Y=; b=lWZB3BATINi/lv4zpZHcUtCdFAqDdCmkZJzrjvDNIebymxDwdYXCUh5I7qp7J1vQqADjGT fM4tG5JIhj0uoacTLO8AZwc+ugAkgSK0CML/dhWYUBPtLOwoOGu5Wbucwm6JJDLiaGl+zi Z3DolXi9Rr5AraxbzgtQnOUMVPOXzCxV4l5wxx/1u+aX/Thi59QgB1ifMgRw2289NaLLfe H6U5HJP+w8eK29me+7nyP/fKZg5HqnFAbp/xUFsye7bsSwVuXwamnJm8lIt5ef/01/dwwo kCG/mqT7RbYzTyxEi7I5vKs1Mug1qct6Z7OKWzVbWE+aFq6yN5PjZ7S5uL8lXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1750064039; a=rsa-sha256; cv=none; b=lhcNoiokB+n1sjnMXIyiajVEHHo7oALJ5nZVTlWtr8hbj468miQtV9O+o5w0NntLINNLKY olDYSskAVD7pJPLpVgtfLf/+ctpYB6k9QVJm1Ryqk0WNTsy2eZoEf5dLU3RFZOqoIcQKAG zpmR9pHo/ZqJhu/UH7+stvhBMARQDcE77Ml5UIZgrWru5hDBJMsh5Q9P0V4YHiZWU3VeNh V+C+5II/tF/LPODUq7UtjI0TAfO0f8yXnCxw7JZpvvChmb2GZg78mTiHk3miFRG4wU4Uyr z6gh9NqiuFXpfNv4zVYMAuffGVCCxkqQwOuwEz17xBa2X8Cx3OISuqpfYLZmgA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bLP1g47qVzrqk; Mon, 16 Jun 2025 08:53:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55G8rxkD043171; Mon, 16 Jun 2025 08:53:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55G8rxwC043168; Mon, 16 Jun 2025 08:53:59 GMT (envelope-from git) Date: Mon, 16 Jun 2025 08:53:59 GMT Message-Id: <202506160853.55G8rxwC043168@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: a56833c9f727 - stable/14 - timeout(1): Handle sig_alrm and sig_term together to dedup code List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a56833c9f72703ad6438c7236e60c2c44030c6ea Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a56833c9f72703ad6438c7236e60c2c44030c6ea commit a56833c9f72703ad6438c7236e60c2c44030c6ea Author: Aaron LI AuthorDate: 2025-04-02 14:34:45 +0000 Commit: Konstantin Belousov CommitDate: 2025-06-16 08:51:52 +0000 timeout(1): Handle sig_alrm and sig_term together to dedup code (cherry picked from commit c5cdc13045650a9daf33dd6316ef57496e4a5dbc) --- bin/timeout/timeout.c | 37 ++++++++++++------------------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index aaecd7fec2e5..4c81b64cd2b6 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -174,7 +174,7 @@ set_interval(double iv) int main(int argc, char **argv) { - int ch, status; + int ch, status, sig; int foreground, preserve; int pstat = 0; int killsig = SIGTERM; @@ -314,36 +314,23 @@ main(int argc, char **argv) break; } } - } else if (sig_alrm) { - sig_alrm = 0; - - timedout = true; - if (!foreground) { - killemall.rk_sig = killsig; - killemall.rk_flags = 0; - procctl(P_PID, getpid(), PROC_REAP_KILL, - &killemall); + } else if (sig_alrm || sig_term) { + if (sig_alrm) { + sig = killsig; + sig_alrm = 0; + timedout = true; } else { - send_sig(pid, killsig); + sig = sig_term; + sig_term = 0; } - if (do_second_kill) { - set_interval(second_kill); - do_second_kill = false; - sig_ign = killsig; - killsig = SIGKILL; + if (foreground) { + send_sig(pid, sig); } else { - break; - } - - } else if (sig_term) { - if (!foreground) { - killemall.rk_sig = sig_term; + killemall.rk_sig = sig; killemall.rk_flags = 0; procctl(P_PID, getpid(), PROC_REAP_KILL, - &killemall); - } else { - send_sig(pid, sig_term); + &killemall); } if (do_second_kill) {