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
looks incredibly weird, because it seems that it should be able to basically drop arbitrary oneshot events which occured, as any "non-error" events don't get handled there at all. I would be in favor of not doing any event handling there and just pass an empty eventlist instead to prevent that, handling errors at the next wait instead, which imo would be much cleaner (and won't exhibit such race conditions).
The text was updated successfully, but these errors were encountered:
@notgull I don't think it's the bug you're running into, because I think this should only affect multi-threaded stuff, and the ordering in the test you used didn't use any interleaving or such that could explain that.
Looking at mio, it looks like it uses EV_RECEIPT to ensure that the internal buffer is always filled up with receipt events. Using that might fix this issue. Wait, sorry, we already use that, I missed that. In that case, I don't think there should be any real issues.
This code segment
polling/src/kqueue.rs
Lines 101 to 124 in bc56d1f
looks incredibly weird, because it seems that it should be able to basically drop arbitrary oneshot events which occured, as any "non-error" events don't get handled there at all. I would be in favor of not doing any event handling there and just pass an empty eventlist instead to prevent that, handling errors at the next
wait
instead, which imo would be much cleaner (and won't exhibit such race conditions).The text was updated successfully, but these errors were encountered: