Hi there, 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 /etc/imapd.conf. Actually, master only send a SIGHUP to children when the service have been removed. 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 of that. 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. Olivier ROLAND AtoS