[systemd-devel] [PATCH] gssd: Improve scalability by not waiting for child processes
Florian Weimer
fw at deneb.enyo.de
Sun Oct 4 01:19:59 PDT 2015
* Steve Dickson:
> +static void
> +sig_child(int signal)
> +{
> + int err;
> + pid_t pid;
> +
> + /* Parent: just wait on child to exit and return */
> + do {
> + pid = wait(&err);
> + } while(pid == -1 && errno != -ECHILD);
> +
> + if (WIFSIGNALED(err))
> + printerr(0, "WARNING: forked child was killed"
> + "with signal %d\n", WTERMSIG(err));
> +}
prinerr calls vfprintf or vsyslog. Neither is safe to use in signal
handlers, so you need to log this message in some other way.
Florian
More information about the systemd-devel
mailing list