Setting TCP keepalive for Cyrus daemons

Gary Mills mills at cc.umanitoba.ca
Sun Feb 14 10:30:49 EST 2010


On Sun, Feb 14, 2010 at 08:56:29AM +1100, Bron Gondwana wrote:
> On Sun, Feb 14, 2010 at 08:38:34AM +1100, Bron Gondwana wrote:
> > > One thing to watch is that only SO_KEEPALIVE is standard.  The other
> > > three symbols: TCP_KEEPCNT, TCP_KEEPIDLE, and TCP_KEEPINTVL only exist
> > > in some operating systems.  They have global settings but don't have
> > > per-socket options.  For these, the setsockopt() function calls need
> > > to be conditional on the symbols.
> > 
> > Hmm - yeah, OK.  I'll protect them with #ifdefs.
> 
> Here's the patch redone with those...

I just noticed something else when I went to apply the patch.  I would
have added the options to cyrus.conf so a typical entry would change
from:

  imap  cmd="imapd" listen="imap" proto="tcp4" prefork=0 maxchild=6000

to:

  imap  cmd="imapd" listen="imap" proto="tcp4" tcp_keepalive prefork=0 maxchild=6000

That way you could have a different keepalive setting for each service.
You've designed it so these settings go into imapd.conf .  Is that going
to work the same way?

-- 
-Gary Mills-        -Unix Group-        -Computer and Network Services-


More information about the Info-cyrus mailing list