Hi,

I am having some problems with POLLHUP events arriving a substantial amount of 
time after the event taking place.

Process dispatcher (qmail-lspawn, part of the qmail MTA) communicates with its 
children (qmail-local) via pipes. The main loop is essentially a select(), 
waiting for pipe close events. Despite the children exiting one after another, 
SIGCHLD handler doing its job, there is no pollsys wake up event firing. Only 
after a minute or two, when some other qmail-locals terminate, there is a burst 
of descriptors being reported by pollsys.

Using a select() with a short timeout makes no difference, the process enters 
the select() several times before getting the fd burst.

This leads to stalls, with qmail-lspawn waiting for processes terminated some 
time ago.

What bit of information am I missing? Is this kind of select()/pollsys 
behaviour to be expected?

Thanks.
 
 
This message posted from opensolaris.org
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to