[Rpm-maint] [rpm-software-management/rpm] Stop blocking when GPG process dies prematurely (RhBug:1746353) (#938)
Michal Domonkos
notifications at github.com
Mon Nov 18 08:31:54 UTC 2019
dmnks commented on this pull request.
> @@ -276,7 +282,26 @@ static int runGPG(sigTarget sigt, const char *sigfile)
rpmPopMacro(NULL, "__plaintext_filename");
rpmPopMacro(NULL, "__signature_filename");
+ /* The child GPG process may terminate without ever opening the pipe (such
+ * as when the key is expired), causing our parent process to get forever
+ * stuck on the Fopen() call below (see fifo(7) for details). To fix that,
+ * we need to let the underlying open(2) unblock when SIGCHLD is received,
+ * by registering a no-op handler, so here we go: */
+ struct sigaction act;
+ memset(&act, '\0', sizeof(act));
Oh OK, thanks for pointing this out, I'll fix this.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/938#discussion_r347249103
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20191118/f4e891ee/attachment.html>
More information about the Rpm-maint
mailing list