rsocket Issue #2
Chris Hegarty
chris.hegarty at oracle.com
Wed Feb 13 18:00:12 UTC 2019
Hi Sean, Lucy,
In an attempt to work-around issue #2 (non-blocking connect not making
progress, reported in [1] ), I have run into a separate issue with
`rpoll`. I think it is a bug, and it will make working-around issue #2
much more difficult ( maybe impracticable ).
The behaviour I observe is that, if more than one thread is blocked in
a `rpoll` call ( with the same socket and events), and the event is
triggered, then only one thread ( rpoll ) will wakeup. I've put together
a native test:
http://cr.openjdk.java.net/~chegar/rsocket/testBipollar.c
This is an issue for the Java API that allows a channel to be registered
with more than one selector. It is also a possible issue with a selector
racing with finishConnect. These scenarios are not all that common, but
still possible.
The `rpoll` behaviour I observe is clearly different than regular
`poll` ( which will wake up all waiters ). Is this a bug, or expected
behaviour of the thread-less rsocket implementation?
-Chris.
[1]
https://mail.openjdk.java.net/pipermail/nio-dev/2018-December/005651.html
More information about the nio-dev
mailing list