issue #249: restore duplex behaviour for epoll
With epoll() there is only one kernel-side object per file descriptor, which is why _control() is such a pain. Since we merge receive/transmit watching into that single object, we must always test the mask for both conditions when reading results. Kqueue isn't/doesn't appear to be like this. The identity of a Kqueue event is keyed on (fd, filter), and we register a separate event for both transmit and receive, so the 'elif' in KqueuePoller.poll() does not appear to need to change. Previously, a FD marked for read+write would not indicate writeability until it was no longer readable.pull/255/head
parent
6b98818046
commit
6d18ce81d8
Loading…
Reference in New Issue