On 2/16/10 7:07 PM, Julien Vermillard wrote:
Le Tue, 16 Feb 2010 19:01:47 +0100,
Emmanuel Lecharny<[email protected]> a écrit :
On 2/16/10 6:29 PM, Julien Vermillard wrote:
Did I missed something ?
When you want to register a socket to a Selector and another thread
is calling select(); the register operation will block until
select(); exit. I think that's why a queue is used.
You are 100% right. The channel registering *must* be done once the
select() is done. So we should push the channel in a queue, wakeup
the selector, and process the registering.
Not that complicated to implement, as soon as we process all the
initialization before registering the channel on the selector.
Sure I think we can avoid the whole soup of Future :)
Some interesting reading :
http://rox-xmlrpc.sourceforge.net/niotut/
--
Regards,
Cordialement,
Emmanuel Lécharny
www.nextury.com