[zeromq-dev] Even more fun with accept

Martin Sustrik sustrik at fastmq.com
Wed Apr 29 18:27:04 CEST 2009


I was just told that when EMFILE or ENFILE error (the socket limit is 
exceeded) is returned from accept the connection isn't purged from the 
listening queue.

The consequence is that polling on the listening socket signalises that 
there's a pending connection, however, there's no way to accept it 
unless some sockets are closed in the meantime.

Such behaviour results in a busy loop desperately trying to accept the 
connection, ultimately getting the CPU load to 100%.

Any tips how to solve the problem?

More information about the zeromq-dev mailing list