Chris Wan lists at
Sat May 2 20:50:25 MSD 2009

Igor Sysoev wrote:
> On Sat, May 02, 2009 at 04:57:36PM +0200, Chris Wan wrote:
>> I run 0.7.54 nginx/windows, but I found the nginx don't work at all when 
>> I set "worker_processes  4".
>> command "telnet 80" is ok, but IE can't open 
>> "", it wait untill time expired.  and  no error in 
>> error.log.
> Try
> events {
>    accept_mutex  off;
> }
> In my tests only one process receives select() notifcaitons about new
> connections.
thx, It work.

I want to know more information about this directives.

nginx wiki:
Syntax: accept_mutex [ on | off ]
Default: on
nginx uses accept mutex to serialize accept() syscalls.

I notice you used to say:
Workers try to hold accept_mutex which
allows only one worker to get new connections notification and to call
accept(). You can switch accept_mutex off, then all scheduling will be
done by OS scheduler via accept() call. "

but apache said:
/* On some architectures it's safe to do unserialized accept()s in the 
 * Listen case.  But it's never safe to do it in the case where there's
 * multiple Listen statements.  Define SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 * when it's safe in the single Listen case.
Posted via

More information about the nginx mailing list