summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rpmio/rpmsq.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/rpmio/rpmsq.c b/rpmio/rpmsq.c
index c2efb4714..0eb3ca37a 100644
--- a/rpmio/rpmsq.c
+++ b/rpmio/rpmsq.c
@@ -143,6 +143,9 @@ int rpmsqPoll(void)
(void) sigprocmask(SIG_BLOCK, &newMask, &oldMask);
for (rpmsig tbl = rpmsigTbl; tbl->signum >= 0; tbl++) {
+ /* honor blocked signals in polling too */
+ if (sigismember(&oldMask, tbl->signum))
+ continue;
if (sigismember(&rpmsqCaught, tbl->signum)) {
rpmsqAction_t handler = (tbl->handler != NULL) ? tbl->handler :
tbl->defhandler;