]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: lib-signals - Fix assert panic occurring at ioloop switch without delayed handlers.
authorStephan Bosch <stephan.bosch@open-xchange.com>
Sat, 11 Apr 2020 13:11:32 +0000 (15:11 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Fri, 22 May 2020 08:42:33 +0000 (08:42 +0000)
Panic was:

Panic: file ioloop.c: line 86 (io_add_to): assertion failed: (fd >= 0)

src/lib/lib-signals.c

index 10ebdf8d5de52aa10318ca90b4bb040621194669..577b39a3381bdad30a6b55ed05a6df9d847b797f 100644 (file)
@@ -301,7 +301,7 @@ static void ATTR_NULL(1) signal_read(void *context ATTR_UNUSED)
 
 static void lib_signals_enable_delayed_hander(void)
 {
-       if (current_ioloop != NULL) {
+       if (current_ioloop != NULL && sig_pipe_fd[0] > 0) {
                io_sig = io_add(sig_pipe_fd[0], IO_READ,
                        signal_read, NULL);
                io_set_never_wait_alone(io_sig, TRUE);