summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndré Draszik <adraszik@tycoint.com>2017-11-01 11:16:32 +0000
committerArmin Kuster <akuster808@gmail.com>2017-11-06 12:17:42 -0800
commitfc75466e0b5025c3313b003429ae14c585ef8bfb (patch)
treed6957b177a541bbdcb487794355fecbe648f260f
parentde48d57a7f22cd5129279e977fd0d871c81e818f (diff)
downloadmeta-security-fc75466e0b5025c3313b003429ae14c585ef8bfb.tar.gz
trousers: make initscript more reliable
The combination of using start-stop-daemon and pidof is not working reliably in all cases. Sometimes, the tcsd daemon isn't running yet at the time pidof is being invoked. This results in an empty /var/run/tcsd.pid, making it impossible to stop tcsd using the init script. To solve this, one could either add a delay before calling pidof, or alternatively use start-stop-daemon's built-in functionality to achieve the same. Let's do the latter. Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta-tpm/recipes-tpm/trousers/files/trousers.init.sh6
1 files changed, 4 insertions, 2 deletions
diff --git a/meta-tpm/recipes-tpm/trousers/files/trousers.init.sh b/meta-tpm/recipes-tpm/trousers/files/trousers.init.sh
index 0ecf7cc..d0d6cb3 100644
--- a/meta-tpm/recipes-tpm/trousers/files/trousers.init.sh
+++ b/meta-tpm/recipes-tpm/trousers/files/trousers.init.sh
@@ -33,10 +33,12 @@ case "${1}" in
33 exit 0 33 exit 0
34 fi 34 fi
35 35
36 start-stop-daemon --start --quiet --oknodo --pidfile /var/run/${NAME}.pid --user ${USER} --chuid ${USER} --exec ${DAEMON} -- ${DAEMON_OPTS} 36 start-stop-daemon --start --quiet --oknodo \
37 --pidfile /var/run/${NAME}.pid --make-pidfile --background \
38 --user ${USER} --chuid ${USER} \
39 --exec ${DAEMON} -- ${DAEMON_OPTS} --foreground
37 RETVAL="$?" 40 RETVAL="$?"
38 echo "$NAME." 41 echo "$NAME."
39 [ "$RETVAL" = 0 ] && pidof $DAEMON > /var/run/${NAME}.pid
40 exit $RETVAL 42 exit $RETVAL
41 ;; 43 ;;
42 44