You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This boils down to using EPOLLONESHOT correctly. The interface is not as straightforward as kqueue's, as the file descriptor is still kept in the eventlist by epoll after an event occurs on it, unlike in kqueue which automatically removes it. This means that logic for adding an event will probably be like this:
check if the event is in epoll's list
if not, then add it and register interest on it
if yes, then just register interest on it
The text was updated successfully, but these errors were encountered:
We add an event to epoll: https://github.com/talostrading/sonic/blob/master/internal/poll_linux.go#L160
When we poll for that event, we delete it: https://github.com/talostrading/sonic/blob/master/internal/poll_linux.go#L160
We don't want to delete it, but rather do it like poll_bsd where we don't do anything: https://github.com/talostrading/sonic/blob/master/internal/poll_linux.go#L160
This boils down to using
EPOLLONESHOT
correctly. The interface is not as straightforward askqueue
's, as the file descriptor is still kept in theeventlist
byepoll
after an event occurs on it, unlike inkqueue
which automatically removes it. This means that logic for adding an event will probably be like this:epoll
's listThe text was updated successfully, but these errors were encountered: