diff options
-rw-r--r-- | rpmio/rpmsq.c | 3 |
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; |