Hi Rich, On Fri, Nov 9, 2018 at 1:19 PM, Richard W.M. Jones <rjo...@redhat.com> wrote: > Peter Dimitrov and myself were debugging a very peculiar bug when > libguestfs is run as a plugin from collectd: > > https://www.redhat.com/archives/libguestfs/2018-November/thread.html#00023 > > The long story short is that collectd leaks SIGCHLD == SIG_IGN setting > into plugins: > > https://www.redhat.com/archives/libguestfs/2018-November/msg00095.html > > This means that any plugin that does the usual pattern of: > > pid = fork (); > ... > if (waitpid (pid, NULL, 0) == -1) { > perror ("waitpid"); > exit (EXIT_FAILURE); > } > > will fail, because the forked subprocess is automatically reaped > before waitpid is called, resulting in the wait failing with errno == > ECHILD. > > It is possible to work around this by adding: > > signal (SIGCHLD, SIG_DFL); > > to the plugin. However I believe this is a bug in collectd, and it > should sanitize signals (and maybe other things) before running > plugins. > > Rich.
Would you mind opening an issue at https://github.com/collectd/collectd/issues/new for this? Kind regards, Ruben Kerkhof _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://www.redhat.com/mailman/listinfo/libguestfs