
On Thu, 2020-03-05 at 09:57 +0000, Daniel P. Berrangé wrote:
On Thu, Mar 05, 2020 at 10:06:53AM +0100, Andrea Bolognani wrote:
On Fri, 2020-02-28 at 16:56 +0100, Michal Privoznik wrote:
+++ b/src/qemu/qemu_shim.c @@ -150,6 +150,7 @@ int main(int argc, char **argv) signal(SIGINT, qemuShimSigShutdown); signal(SIGQUIT, qemuShimSigShutdown); signal(SIGHUP, qemuShimSigShutdown); + signal(SIGPIPE, SIG_IGN);
Either way, I'm not convinced this is the right fix: if virt-qemu-run is unable to communicate with virtlogd, that is a serious issue that should prevent the application from continuing. Or does this change only make it so virt-qemu-run does not abort immediately but rather gets far enough that it can report the error and clean up? Again, not being able to reproduce the original issue locally makes it difficult to validate the fix :)
Regardless of the actual problem faced, ignoring SIGPIPE is the right thing todo for all programs. They'll then process normal error returns from write()
The more you know! Reviewed-by: Andrea Bolognani <abologna@redhat.com> then. -- Andrea Bolognani / Red Hat / Virtualization