diff options
author | Thomas Roessler <roessler@does-not-exist.org> | 1999-12-01 09:39:04 +0000 |
---|---|---|
committer | Thomas Roessler <roessler@does-not-exist.org> | 1999-12-01 09:39:04 +0000 |
commit | 67753c3ac2005c41d8e3a28a79be7dfb97bdff36 (patch) | |
tree | 161f90c95f16376214afede3bdfc8868ee179abe /imap | |
parent | 2fdb0604cf34d35a98e609b039ec11556ec1fb71 (diff) |
Re-set the list of blocked signals after the imap_keepalive stuff.
Diffstat (limited to 'imap')
-rw-r--r-- | imap/util.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/imap/util.c b/imap/util.c index 4c31b109..4e98f46e 100644 --- a/imap/util.c +++ b/imap/util.c @@ -319,6 +319,7 @@ int imap_wait_keepalive (pid_t pid) { struct sigaction oldalrm; struct sigaction act; + sigset_t oldblocked; int rc; short imap_passive = option (OPTIMAPPASSIVE); @@ -326,6 +327,8 @@ int imap_wait_keepalive (pid_t pid) set_option (OPTIMAPPASSIVE); set_option (OPTKEEPQUIET); + sigprocmask (SIG_BLOCK, NULL, &oldblocked); + sigemptyset (&act.sa_mask); act.sa_handler = alrm_handler; #ifdef SA_INTERRUPT @@ -348,6 +351,7 @@ int imap_wait_keepalive (pid_t pid) } sigaction (SIGALRM, &oldalrm, NULL); + sigprocmask (SIG_BLOCK, &oldblocked, NULL); unset_option (OPTKEEPQUIET); if (!imap_passive) |