Jan 16, 2023 14:13:08 Eric Blake <ebl...@redhat.com>: > On Fri, Jan 13, 2023 at 05:57:35AM +0000, Thomas Weißschuh wrote: >> If all of the requested data has been read, the call to popen_close will >> close the scripts output pipe and on the next write a SIGPIPE is >> delivered. >> When the scripts inherited signalhandler is ignoring the singal, it >> won't be aborted by default. > > s/scripts/script's/2 > >> >> This happens in the test suite, as make 4.4 seems to ignore this signal. >> Therefore the executed scripts never stop and the testsuite never >> finishes. > > That's a bug in make: > https://savannah.gnu.org/bugs/index.php?63307 > > but one we may indeed need to work around (along with every other > impacted program).
Thanks for the pointer. It also breaks the kernel build: https://lore.kernel.org/lkml/CAPOgqxFva=touh1uitcsn38+28q3bnxkq19resvnprzrqkq...@mail.gmail.com/ >> --- >> plugins/data/format.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/plugins/data/format.c b/plugins/data/format.c >> index 3667ead6790f..2319ea09475c 100644 >> --- a/plugins/data/format.c >> +++ b/plugins/data/format.c >> @@ -40,6 +40,7 @@ >> #include <stdarg.h> >> #include <string.h> >> #include <assert.h> >> +#include <signal.h> >> >> #define NBDKIT_API_VERSION 2 >> #include <nbdkit-plugin.h> >> @@ -1951,6 +1952,9 @@ store_script_len (struct allocator *a, >> char buf[BUFSIZ]; >> size_t n; >> >> + /* Restore SIGPIPE back to SIG_DFL, since shell can't undo SIG_IGN */ >> + signal (SIGPIPE, SIG_DFL); >> + >> pp = popen (script, "r"); >> if (pp == NULL) { >> nbdkit_error ("popen: %m"); > > ACK from my end, even if make ends up fixing their regression. > > -- > Eric Blake, Principal Software Engineer > Red Hat, Inc. +1-919-301-3266 > Virtualization: qemu.org | libvirt.org _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs