On Fri, Jul 14, 2017 at 11:58:49PM -0400, Ken Hornstein wrote:
> - Call fork() in parent, and then use sigwait() to wait for SIGCHLD or SIGUSR1
> - In the child, perform library initialization. If it fails, print out
>   the error message on stderr and exit.  If it succeeds send a SIGUSR1 to
>   the parent and then perform the rest of the daemonization steps as discussed
>   previously.
> - If the parent gets a SIGCHLD, call waitpid() and exit with the exit code
>   that the child exited with. If the parent gets a SIGUSR1, then exit 
> normally.

A better design would be to just use a pipe and write the status to
that. No signals necessary. Parents knows if the status read from the
pipe is bad OR you get EOF, initialisation went wrong.

Joerg

Reply via email to