]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
master: Fix assert-crash after "Process .. is ignoring idle SIGINT" error
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Fri, 31 May 2024 20:19:53 +0000 (23:19 +0300)
committerDovecot Automation <automation@dovecot.org>
Tue, 4 Jun 2024 13:17:59 +0000 (13:17 +0000)
The timeout was called multiple times, which caused internal state to break.

Fixes:
Panic: file service-monitor.c: line 60 (service_kill_idle): assertion failed: (processes_to_kill <= service->process_avail)

src/master/service-monitor.c

index 0a65733a877926bda338d97d5dc4ac7d5d30b150..72fbc631643b96ce1dbe82f1e64debaa043fce23 100644 (file)
@@ -41,6 +41,8 @@ static void service_process_idle_kill_timeout(struct service_process *process)
        service_error(process->service, "Process %s is ignoring idle SIGINT",
                      dec2str(process->pid));
 
+       timeout_remove(&process->to_idle_kill);
+
        /* assume this process is busy */
        i_zero(&status);
        service_status_more(process, &status);