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. > > 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. > --- > 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"); > > base-commit: 09a61a0a00d3036ebfbc2fbadb0ba3e10a778ff3
Thanks - pushed upstream in commit c0c31227198dbc7d26fd5955c18d0e2b27df3b84 Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs