From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Beno=C3=AEt=20Th=C3=A9baudeau?= Date: Fri, 21 Aug 2015 18:45:17 +0200 Subject: [Buildroot] [PATCH v2 6/8] package/dhcp: SysV init scripts: remove PID files after stop In-Reply-To: <1440175519-478-1-git-send-email-benoit@wsystem.com> References: <1440175519-478-1-git-send-email-benoit@wsystem.com> Message-ID: <1440175519-478-7-git-send-email-benoit@wsystem.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net These daemons do not remove their PID files, so do it manually in the scripts. Signed-off-by: Beno?t Th?baudeau --- 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