diff options
| author | André Draszik <adraszik@tycoint.com> | 2017-11-01 11:16:32 +0000 |
|---|---|---|
| committer | Armin Kuster <akuster808@gmail.com> | 2017-11-06 12:17:42 -0800 |
| commit | fc75466e0b5025c3313b003429ae14c585ef8bfb (patch) | |
| tree | d6957b177a541bbdcb487794355fecbe648f260f /meta-tpm | |
| parent | de48d57a7f22cd5129279e977fd0d871c81e818f (diff) | |
| download | meta-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>
Diffstat (limited to 'meta-tpm')
| -rw-r--r-- | meta-tpm/recipes-tpm/trousers/files/trousers.init.sh | 6 |
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 | ||
