All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Benoît Thébaudeau" <benoit@wsystem.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 6/8] package/dhcp: SysV init scripts: remove PID files after stop
Date: Fri, 21 Aug 2015 18:45:17 +0200	[thread overview]
Message-ID: <1440175519-478-7-git-send-email-benoit@wsystem.com> (raw)
In-Reply-To: <1440175519-478-1-git-send-email-benoit@wsystem.com>

These daemons do not remove their PID files, so do it manually in the
scripts.

Signed-off-by: Beno?t Th?baudeau <benoit@wsystem.com>
---
 package/dhcp/S80dhcp-relay  | 12 ++++++++++--
 package/dhcp/S80dhcp-server | 12 ++++++++++--
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/package/dhcp/S80dhcp-relay b/package/dhcp/S80dhcp-relay
index c8f79ff..c6f7f0f 100755
--- a/package/dhcp/S80dhcp-relay
+++ b/package/dhcp/S80dhcp-relay
@@ -17,6 +17,9 @@ OPTIONS=""
 CFG_FILE="/etc/default/dhcrelay"
 [ -r "${CFG_FILE}" ] && . "${CFG_FILE}"
 
+# PID files generated by the daemon
+PID_FILES="/var/run/dhcrelay.pid /var/run/dhcrelay6.pid"
+
 # Sanity checks
 test -f /usr/sbin/dhcrelay || exit 0
 test -n "$INTERFACES" || exit 0
@@ -38,8 +41,13 @@ case "$1" in
 		;;
 	stop)
 		echo -n "Stopping DHCP relay: "
-		start-stop-daemon -K -q -x /usr/sbin/dhcrelay
-		[ $? = 0 ] && echo "OK" || echo "FAIL"
+		if start-stop-daemon -K -q -x /usr/sbin/dhcrelay; then
+			# This daemon does not remove its PID file when it exits.
+			rm -f ${PID_FILES}
+			echo "OK"
+		else
+			echo "FAIL"
+		fi
 		;;
 	restart | force-reload)
 		$0 stop
diff --git a/package/dhcp/S80dhcp-server b/package/dhcp/S80dhcp-server
index 1f27b54..52cfe11 100755
--- a/package/dhcp/S80dhcp-server
+++ b/package/dhcp/S80dhcp-server
@@ -14,6 +14,9 @@ OPTIONS=""
 CFG_FILE="/etc/default/dhcpd"
 [ -r "${CFG_FILE}" ] && . "${CFG_FILE}"
 
+# PID files generated by the daemon
+PID_FILES="/var/run/dhcpd.pid /var/run/dhcpd6.pid"
+
 # Sanity checks
 test -f /usr/sbin/dhcpd || exit 0
 test -f /etc/dhcp/dhcpd.conf || exit 0
@@ -28,8 +31,13 @@ case "$1" in
 		;;
 	stop)
 		echo -n "Stopping DHCP server: "
-		start-stop-daemon -K -q -x /usr/sbin/dhcpd
-		[ $? = 0 ] && echo "OK" || echo "FAIL"
+		if start-stop-daemon -K -q -x /usr/sbin/dhcpd; then
+			# This daemon does not remove its PID file when it exits.
+			rm -f ${PID_FILES}
+			echo "OK"
+		else
+			echo "FAIL"
+		fi
 		;;
 	restart | force-reload)
 		$0 stop
-- 
2.1.4

  parent reply	other threads:[~2015-08-21 16:45 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-21 16:45 [Buildroot] [PATCH v2 0/8] package/dhcp: rework the SysV init scripts Benoît Thébaudeau
2015-08-21 16:45 ` [Buildroot] [PATCH v2 1/8] package/dhcp: fix SysV init scripts option passing Benoît Thébaudeau
2015-08-21 16:45 ` [Buildroot] [PATCH v2 2/8] package/dhcp/S80dhcp-server: support extra options Benoît Thébaudeau
2015-08-21 16:45 ` [Buildroot] [PATCH v2 3/8] package/dhcp/S80dhcp-server: allow empty INTERFACES Benoît Thébaudeau
2015-08-21 16:45 ` [Buildroot] [PATCH v2 4/8] package/dhcp: fix SysV init scripts output text Benoît Thébaudeau
2015-08-21 16:45 ` [Buildroot] [PATCH v2 5/8] package/dhcp: remove sleep from SysV init scripts restart Benoît Thébaudeau
2015-08-21 16:45 ` Benoît Thébaudeau [this message]
2015-08-21 16:45 ` [Buildroot] [PATCH v2 7/8] package/dhcp/S80dhcp-server: support IPv6 lease file Benoît Thébaudeau
2015-08-21 16:45 ` [Buildroot] [PATCH v2 8/8] package/dhcp: SysV init scripts: refactor using functions Benoît Thébaudeau
  -- strict thread matches above, loose matches on Subject: below --
2015-10-13  9:35 [Buildroot] [PATCH v2 1/8] package/dhcp: fix SysV init scripts option passing Benoît Thébaudeau
2015-10-13  9:35 ` [Buildroot] [PATCH v2 6/8] package/dhcp: SysV init scripts: remove PID files after stop Benoît Thébaudeau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1440175519-478-7-git-send-email-benoit@wsystem.com \
    --to=benoit@wsystem.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.