From owner-dev-commits-src-all@freebsd.org Fri Aug 20 16:46:12 2021 Return-Path: Delivered-To: dev-commits-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 979B066378A; Fri, 20 Aug 2021 16:46:12 +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 4GrnZr3Y6Qz4f9T; Fri, 20 Aug 2021 16:46:12 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 5E8321C6B4; Fri, 20 Aug 2021 16:46:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 17KGkCCN088231; Fri, 20 Aug 2021 16:46:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 17KGkCeW088230; Fri, 20 Aug 2021 16:46:12 GMT (envelope-from git) Date: Fri, 20 Aug 2021 16:46:12 GMT Message-Id: <202108201646.17KGkCeW088230@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Sobolev Subject: git: 2651609fcbd7 - main - Allow rc.d script to provide "status" method, even if it does not define procname or have a PID file. This might be useful for cases, such as mounting local FS, when there is no running daemon still some other persistent state in the system which status can be checked. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sobomax X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2651609fcbd70725cb94902145032dbb7c1e89c4 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Aug 2021 16:46:12 -0000 The branch main has been updated by sobomax: URL: https://cgit.FreeBSD.org/src/commit/?id=2651609fcbd70725cb94902145032dbb7c1e89c4 commit 2651609fcbd70725cb94902145032dbb7c1e89c4 Author: Maxim Sobolev AuthorDate: 2021-08-20 16:43:04 +0000 Commit: Maxim Sobolev CommitDate: 2021-08-20 16:43:46 +0000 Allow rc.d script to provide "status" method, even if it does not define procname or have a PID file. This might be useful for cases, such as mounting local FS, when there is no running daemon still some other persistent state in the system which status can be checked. It is still possible to have a status method before this by having extra_commands="status", but it's not obvious and might give an script writer some extra legwork to figure out how and why the straight method is not working. Reviewed by: cy MFC after: 1 week Relnotes: yes Differential Revision: https://reviews.freebsd.org/D31614 --- libexec/rc/rc.subr | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index b027fa5facf4..7144c3cbfce9 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -958,6 +958,11 @@ run_rc_command() _pidcmd='rc_pid=$(check_process '"$_procname $command_interpreter"')' fi _keywords="${_keywords} status poll" + else + if [ ! -z "${status_cmd}" ] + then + _keywords="${_keywords} status" + fi fi if [ -z "$rc_arg" ]; then