procd: guard fork_worker calls
authorMichael Heimpold <mhei@heimpold.de>
Tue, 1 Jan 2019 23:44:54 +0000 (00:44 +0100)
committerJohn Crispin <john@phrozen.org>
Sun, 27 Oct 2019 13:20:12 +0000 (14:20 +0100)
commitd27949f12fd7d12d31ac9b6b87d46a11894dca12
tree5e47dfabe316d989d7882c96da667018c741c003
parent258aa04328a20213b12228d01d494c1e22f8d510
procd: guard fork_worker calls

Usually respawn(), askfirst(), askconsole() and rcrespawn() are run only
one time to start a worker child for the given inittab entry.

In case we want to allow calling these functions several times, we need
to ensure that we do not start multiple workers at the same time for the
same inittab item.

For this, we can re-use the remembered pid of the worker child,
however, we need to reset this pid to allow a new instance in case the
previous child exited.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
inittab.c