commit b402dd3f91a54c34d9eaf99bee8e4a129286c749
Author: Elan Ruusamäe <[email protected]>
Date:   Sat Sep 10 00:22:34 2016 +0300

    fix RC_LOGGING=no daemon --makepid --fork write proper pidfile
    
    NOTE: setsid needs to be "outer" program
    otherwise start-stop-daemon would capture the setsid pid not the actual 
program
    
    as for RC_LOGGING=yes, this was already executed in this order:
    setsid makepid program arguments

 lib/functions | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/lib/functions b/lib/functions
index 2b2e3a1..74f4c95 100644
--- a/lib/functions
+++ b/lib/functions
@@ -673,12 +673,11 @@ _daemon_exec() {
                set -- "$prog" "$@"
 
                # use setsid to detach from terminal,
-               # needs pidfile or ssd would check setsid program instead of 
real program
-               if [ "$pidfile" ]; then
-                       set -- /usr/bin/setsid "$@"
-               fi
+               # NOTE: setsid needs to be "outer" program
+               # otherwise start-stop-daemon would capture the setsid pid not 
the actual program
 
                prog=$1; shift
+               /usr/bin/setsid \
                /sbin/start-stop-daemon -q --start \
                        --nicelevel $nice \
                        ${pidfile:+--pidfile $pidfile} \
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/projects/rc-scripts.git/commitdiff/b402dd3f91a54c34d9eaf99bee8e4a129286c749

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to