cyrus configuration reload without service interuption

Ken Murchison murch at andrew.cmu.edu
Tue Jan 8 19:38:53 EST 2008


Alain Spineux wrote:
> Hi
> 
> When cyrmaster receive a SIGHUP, it reload its configuration file,
> stop/start the the required services
> and schedule new "EVENTS".
> But running imapd, pop3d ... keep running until they "expire" (timout
> waiting for a new connection, or reach
> the maximum number of connection).
> 
> For example, if you need to replace your certificate or added new
> cyrus admins to imapd.conf , you need to make a restart,
> (this mean a disconnection, of already connect users) if you want to
> use the new stuff immediately.
> 
> I would like to provide a patch to avoid this.
> 
> Here is the idea:
> When cyrmaster get a SIGHUP, It does as before, but send a SIGHUP to
> all imapd, popd process too. The sig_handler
> of these processes will  update their connection counter to a value
> above the limit and then will no accept new connection and
> then will shutdown!

The services already check to see if their binaries have changed out 
from under them, and do as you explain above.  Simply touch'ing the 
binaries will have the same effect.

I supposed we could also have the services check for a new imapd.conf.

-- 
Kenneth Murchison
Systems Programmer
Project Cyrus Developer/Maintainer
Carnegie Mellon University


More information about the Cyrus-devel mailing list