hwoarang    15/01/31 13:07:47

  Modified:             vsftpd.init
  Log:
  Make sure child processes are killed properly. Bug #537290 by rhumbliner
  
  (Portage version: 2.2.15/cvs/Linux x86_64, signed Manifest commit with key 
09BF4F54C2BA7F3C!)

Revision  Changes    Path
1.9                  net-ftp/vsftpd/files/vsftpd.init

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-ftp/vsftpd/files/vsftpd.init?rev=1.9&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-ftp/vsftpd/files/vsftpd.init?rev=1.9&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-ftp/vsftpd/files/vsftpd.init?r1=1.8&r2=1.9

Index: vsftpd.init
===================================================================
RCS file: /var/cvsroot/gentoo-x86/net-ftp/vsftpd/files/vsftpd.init,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- vsftpd.init 20 Apr 2013 16:51:02 -0000      1.8
+++ vsftpd.init 31 Jan 2015 13:07:47 -0000      1.9
@@ -1,7 +1,7 @@
 #!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License, v2
-# $Header: /var/cvsroot/gentoo-x86/net-ftp/vsftpd/files/vsftpd.init,v 1.8 
2013/04/20 16:51:02 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-ftp/vsftpd/files/vsftpd.init,v 1.9 
2015/01/31 13:07:47 hwoarang Exp $
 
 VSFTPD_NAME=${SVCNAME##*.}
 if [ -n "${VSFTPD_NAME}" -a "${SVCNAME}" != "vsftpd" ]; then
@@ -35,13 +35,17 @@
 
 stop() {
        ebegin "Stopping ${SVCNAME}"
+       local retval=0
        if [ -f ${VSFTPD_PID} ]; then
-               start-stop-daemon --stop --pidfile ${VSFTPD_PID}
+               start-stop-daemon --stop --pidfile ${VSFTPD_PID} || retval=1
+               pkill --full ${VSFTPD_CONF}
        else
-               ewarn "Couldn't found ${VSFTPD_PID} trying to stop over the 
process name ${SVCNAME}"
-               start-stop-daemon --stop --name ${SVCNAME}
+               ewarn "Couldn't find ${VSFTPD_PID} trying to stop using the 
config filename ${VSFTPD_CONF}"
+               pgrep --full ${VSFTPD_CONF} > ${VSFTPD_PID}
+               start-stop-daemon --stop --pidfile ${VSFTPD_PID} || retval=1
+               pkill --full ${VSFTPD_CONF}
        fi
-       eend $?
+       eend ${retval}
 }
 
 # vim: ts=4




Reply via email to