[iolib-devel] edge/level trigger in epoll backend

Peter Keller psilord at cs.wisc.edu
Wed May 12 07:54:55 UTC 2010


Hello,

I'm seeing a problem in my codes where I have many clients using the
multiplexer with nonblocking i/o all connected to a master process also
using the multiplexer and nonblocking i/o and the master process only
wants to serve one client for a very long time, then switch to another,
and serve it a very long time. Meanwhile everyone is ready for work and
should be marked as ready in the file descriptor set.

This makes me wonder, is IOLib using EPOLLET to do edge triggered I/O
in the linux backend?  If so, I think that's not what most people will
want since if data is left in the input/output buffers due to a short
read/write, you'll never be notified of stuff left there. I want level
triggered I/O to force pumping of the data regardless of what happens.

Is there a means in IOLib I can control the edge/levelness of the backend?

Thank you.

-pete




More information about the iolib-devel mailing list