prefork and IPv6

Andrew Morgan morgan at
Thu Jun 9 12:44:37 EDT 2016

On Thu, 9 Jun 2016, Wolfgang Breyha via Info-cyrus wrote:

> Hi!
> I recently wondered why some of my preforked processes on my murder backends
> never get used. I detected them because some quite old lmtpd's were holding
> locks on an already deleted deliver.db.
> After some debugging I recognized that cyrus-master seems to fork the
> configured amount of "prefork" daemons twice. One half listening on IPv4 and
> the other half on IPv6. Since IPv6 is practically never used from our
> frontends they stay forever doing nothing on the backends.
> Is there some reasonable way to prevent this other than setting prefork=0?
> I'm only using SERVICE entries like:
>  Bimap		cmd="imapd" listen="imap" prefork=5
> Only the port is used for listen= without interface/IP.

Use the proto argument:

     The protocol used for this service (tcp,  tcp4,  tcp6,  udp,  udp4,  udp6).   This
     string argument is optional.

     tcp4, udp4: These arguments are used to bind the service to IPv4 only.
     tcp6,  udp6:  These  arguments  are  used to bind the service to IPv6 only, if the
     operating system supports this.
     tcp, udp: These arguments are used to bind to both IPv4 and IPv6 if possible.

Here is my cyrus.conf entry:

   imap   cmd="/usr/local/cyrus/bin/imapd" listen="imap" proto="tcp4" prefork=10 maxchild=4000


More information about the Info-cyrus mailing list