On 30 Apr 2017, at 13.51, Timo Sirainen <t...@iki.fi> wrote:
> 
>> New processes aren't created until client_limit is reached in all the 
>> existing processes. When there are multiple processes they're all listening 
>> for new connections and whichever happens to be fastest gets it. Related to 
>> this, I'm thinking about implementing SO_REUSEPORT 
>> (https://lwn.net/Articles/542629/ <https://lwn.net/Articles/542629/> 
>> <https://lwn.net/Articles/542629/ <https://lwn.net/Articles/542629/>> 
>> <https://lwn.net/Articles/542629/ <https://lwn.net/Articles/542629/> 
>> <https://lwn.net/Articles/542629/ <https://lwn.net/Articles/542629/>>>) soon 
>> that would change the behavior a bit. Although its main purposes would be as 
>> a workaround to allow Dovecot restarts to work even though some of the old 
>> processes are still keeping the listener port open.
> 
> Huh, SO_REUSEPORT was already implemented in 2013. I completely forgot about 
> that. Would be useful to try if it works better (or at least not worse) and 
> maybe change it to be enabled by default in some version.
> 
> service ... {
>  inet_listener ... {
>    reuse_port = yes

After some testing, looks like it's not working correctly. Needs some further 
thinking to figure out if it can be even made to work well with Dovecot.

Reply via email to