From nobody Wed Apr 16 19:46:29 2025 X-Original-To: dev-commits-src-main@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 4ZdBNj5c3fz5t8L0; Wed, 16 Apr 2025 19:46:29 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZdBNj34Bvz3kqp; Wed, 16 Apr 2025 19:46:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832789; 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=hU7XkZ4RnkU/8ftH2z6kpoI/QNiX/wNXFhJOkPNIKMo=; b=dE/K/bMIVym4s693w53ue+bzGXLYqjaAJp+UGkJ18XsRVioFcB+gsFbCEQKAqE2FZPSOcu r+b+aD04CvSeDUSWN2sDYAoNjeDqAArWLDDNFK0CxKkQilX1it5eYaI3pF2Ai3Q/frESlR Vsqe+XdKEKAuu/St25hKbyjHWwcwj0ke7ZVAUkr5YfBkE49MS7wQzCcKXVeFfXE5YC3CPf EfPZwPFrGtkT/JUFoAKyCG3yFeTTdSp/44uXMHxD6BSnmnJqsfHfFXVYY8Jdj+CfLgshh9 RJkwTw1O6C59aL4pbq3rvuVACGuMvX8QRIctTnEiU2cX7zjRT+ceIe4/UizSgQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744832789; a=rsa-sha256; cv=none; b=HpSPESOPSgVfDRnbGmjTvfSVb4MeOyW0W+aV+H8OTBy2ewZefBhGOdB9/YFdj/8WqcrSY/ r4WvC3eUMcLuPT+lPNwMai6wR+T0gBJzQbnP8IwB+QaV/uEF+ZyKhpsY85qclrVnEXUYhB VM4x93BOflhTplkb0eAbs4/AqZKqJAWn/gIc/xFHdW2J7f6bCPAlhuiM4y2Hsc3MBBN+lK +JZznQt7K3CBQ0jhg2vIPGDDjV45FzLXUdwaKlFEo9mOeFLxoyq93LN/vIASQOoS39RkED VlJJ8gvSgidaaHUDxnrWI5J276ULg6DFwEipmqyu3FeCk+iabawL4M3PRmcL5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744832789; 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=hU7XkZ4RnkU/8ftH2z6kpoI/QNiX/wNXFhJOkPNIKMo=; b=dop1eJNYZOLFIlISIAFQ0m9hqI8tWJPYNXLWNOQKwo3s5DUxat6U3zRFidSlrT/WrBXv38 bSSxqFHBK2hIvtsjADVbnKE5OdRa4GX8jS5afYqJ2sZcLd69H+zDV4zR5Ttq0jytwRms/O DiBlwReylQ6VyeLSNW5G19BKes8mrIMVGs2rduoTv4Dx+I8/MvL3BHJRObuDn0w/DcVZvM 2XgXr6Pu3axDa/WDMsP19u5E5fv+09aNpvSujIno4Q8H3OnG1g9JQzxwjs9hEjAqry7VOt 4U+cB80kb+xTLAolBoO0+JYbsy4+gKhf6k+/83C1zoVQuwB9iYqYle3kKkeDJA== 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 4ZdBNj2dD7z1tG; Wed, 16 Apr 2025 19:46:29 +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 53GJkTrj063670; Wed, 16 Apr 2025 19:46:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53GJkTGC063667; Wed, 16 Apr 2025 19:46:29 GMT (envelope-from git) Date: Wed, 16 Apr 2025 19:46:29 GMT Message-Id: <202504161946.53GJkTGC063667@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: c5cdc1304565 - main - timeout(1): Handle sig_alrm and sig_term together to dedup code List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c5cdc13045650a9daf33dd6316ef57496e4a5dbc Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=c5cdc13045650a9daf33dd6316ef57496e4a5dbc commit c5cdc13045650a9daf33dd6316ef57496e4a5dbc Author: Aaron LI AuthorDate: 2025-04-02 14:34:45 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-16 19:45:38 +0000 timeout(1): Handle sig_alrm and sig_term together to dedup code Merge the 'sig_alrm' and 'sig_term' conditionals, and thus reduce some duplicate code. Obtained-from: DragonFly BSD --- 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) {