From nobody Fri Dec 15 18:57:29 2023 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 4SsJPP3t1Nz53wvd; Fri, 15 Dec 2023 18:57: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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SsJPP3Sb7z3M5t; Fri, 15 Dec 2023 18:57:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1702666649; 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=z+lmK3e9ktZGoxYl0zi8pe0m1k0aCptb5UtUQrsBNZQ=; b=hhXghuwcP+Rq/UR2p7quftHvPiqaD2O07rNNWe+eNR+h2gJNZndpgjKlPM4Aj0ib1ZvXFS ZMtymANLPaGuMenenpNBGBQ1HewAFKJXhkVpQXeVTg8q8VGH267hczrY5AVR8Pqyh4T0dv DQ7fSrvFjJdPtFIwcqpzbMU0f+XiPUa7QAfz2zlh6XECjzYBEqCJ2HhaSdCOlaKSpAEHlT iDoR8sz4KUTcSxFrgzTny2FJNpufl5KVZvnFSu9tI3JCzJ1YczEEAP7F7Ty0L/5mPcKXQ+ bwUzMlLR9l8bXuX1/cdSz2xwynCqP9h5O2i//dzyyvwuLf1/OjkLMvnb9uiWYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1702666649; a=rsa-sha256; cv=none; b=gnCtNLDfgcMQS8XjSF+mXVgqYAuPhvBxCPsq4oafCDYyxjniqhnFv5KPDbVJ5qbohyQ8NH wObGBHfQD+OaycaUf7/heQXXZO4Pb/Djjs3X/KTr5EDFA/yYdXYRjB15jzvJJVyAk1yTkV H6FJhhuErLo5VzMvSkZOpbRklltEKNnZf5QdwkACCD7cch1VQXHZWAquVpDTSsBTgwhKSQ 237Muzqtd4CLflN4kJhoUzeBy4P3iGXhmEAE8dQV3k4Rz4RJFK3e1rZWhYZ0D7j168AgIa 8wKQcbitdEIoY7knZ5/XLC++QSKWV/6XBXmi6O2dT3YVwDcoF08HYgF9CuhUDw== 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=1702666649; 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=z+lmK3e9ktZGoxYl0zi8pe0m1k0aCptb5UtUQrsBNZQ=; b=GS63NzJ5OaVqtNMu3DnSDYjzaaRpPbttwPVPQQSGE1FNp/vo/pJsBQpMAqs3i5KQHPbJpA JTI1NG/nZ4YaxA9rgC/xCl2Fn4wUYJT7GOXNmmnxXtB7ibkt6wI6Kk9WZosbYL9fdjuXct YKGgV/JC2wHOdJfFUgCrIxPkOO9Zxb3fJ0mh7F86ypFjmeIVCXUWxI62ZbyHtnE1ib64rZ LbCmDKSMY6DBlC0Z0PCbQc7/qIwZyNY0KUGOcicKTsY+CyQgGqn5EwsdPWlG80SNQuDI18 K9slwdHJpOlRN12OxQyZdN8T8h6N8LA9NoITA+o1OtoGxFy4pLcDjLZKkVYg2A== 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 4SsJPP2SQmz7Pr; Fri, 15 Dec 2023 18:57:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BFIvTx3018265; Fri, 15 Dec 2023 18:57:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BFIvTcG018262; Fri, 15 Dec 2023 18:57:29 GMT (envelope-from git) Date: Fri, 15 Dec 2023 18:57:29 GMT Message-Id: <202312151857.3BFIvTcG018262@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 8f5c28046307 - stable/13 - lockf: hide unavailable error with -n -s 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: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8f5c280463078d10ed4da6fbdba11596e441cf09 Auto-Submitted: auto-generated The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=8f5c280463078d10ed4da6fbdba11596e441cf09 commit 8f5c280463078d10ed4da6fbdba11596e441cf09 Author: Kyle Evans AuthorDate: 2023-11-22 04:41:36 +0000 Commit: Kyle Evans CommitDate: 2023-12-15 00:59:15 +0000 lockf: hide unavailable error with -n -s The error message is expected, allow -s to suppress just that one since it would loosely fall under the definition of "failure to acquire the lock" described in the manpage for the -s option. Reviewed by: 0mp, allanjude Feedback from: des Sponsored by: Klara, Inc. (cherry picked from commit 3041e6950d07f0d11c9f91fefbf3c273cbbe4407) --- usr.bin/lockf/lockf.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/usr.bin/lockf/lockf.c b/usr.bin/lockf/lockf.c index 6ca317887cb1..8b0a13e3ca0f 100644 --- a/usr.bin/lockf/lockf.c +++ b/usr.bin/lockf/lockf.c @@ -38,7 +38,7 @@ #include #include -static int acquire_lock(const char *name, int flags); +static int acquire_lock(const char *name, int flags, int silent); static void cleanup(void); static void killed(int sig); static void timeout(int sig); @@ -125,13 +125,14 @@ main(int argc, char **argv) * avoiding the separate step of waiting for the lock. This * yields fairness and improved performance. */ - lockfd = acquire_lock(lockname, flags | O_NONBLOCK); + lockfd = acquire_lock(lockname, flags | O_NONBLOCK, silent); while (lockfd == -1 && !timed_out && waitsec != 0) { if (keep) - lockfd = acquire_lock(lockname, flags); + lockfd = acquire_lock(lockname, flags, silent); else { wait_for_lock(lockname); - lockfd = acquire_lock(lockname, flags | O_NONBLOCK); + lockfd = acquire_lock(lockname, flags | O_NONBLOCK, + silent); } } if (waitsec > 0) @@ -168,15 +169,18 @@ main(int argc, char **argv) * on success, or -1 on failure. */ static int -acquire_lock(const char *name, int flags) +acquire_lock(const char *name, int flags, int silent) { int fd; if ((fd = open(name, O_EXLOCK|flags, 0666)) == -1) { if (errno == EAGAIN || errno == EINTR) return (-1); - else if (errno == ENOENT && (flags & O_CREAT) == 0) - err(EX_UNAVAILABLE, "%s", name); + else if (errno == ENOENT && (flags & O_CREAT) == 0) { + if (!silent) + warn("%s", name); + exit(EX_UNAVAILABLE); + } err(EX_CANTCREAT, "cannot open %s", name); } return (fd);