Graceful restart also for imapd.conf
cyrus-dev at edla.org
Mon Aug 8 05:39:41 EDT 2011
Since version 2.0.9 Cyrus master can re-read /etc/cyrus.conf on SIGHUP.
The man say :
Master rereads its configuration file when it receives a hangup signal,
SIGHUP. Services and events may be added, deleted or modified when the
configuration file is reread. Any active services removed from the
configuration file will be allowed to run until completion.
Looking at the code I wonder why we don't do the same to re-reread
Actually, master only send a SIGHUP to children when the service have
My guess is that we could send a SIGHUP to all services. That way we
don't have to wait for all preforked processes to finish before taking
into account the new imapd.conf
I have made some test and till now all seem working well.
The only tricky thing I see is that we don't want to SIGHUP children
in the SERVICE_STATE_DEAD state but the actual code already take care
So is there any problem that justify to limit the SIGHUP propagation
to children for removed service only ?
Or could we go a bit further (with very few modification to the code)
and allow graceful restart when we modify /etc/imapd.conf.
More information about the Cyrus-devel