Race condition when IdleStateAwareChannelHandler requests channel to close

"이희승 (Trustin Lee)" trustin at gmail.com
Wed Jan 12 06:11:12 EST 2011


Hi Daniel,

I didn't have a chance to take a closer look at this issue yet, but yes,
please file a JIRA issue.

Thanks for your patience,
Trusitn

On 11/18/2010 08:40 PM, Daniel Ferber wrote:
> 
> Hi,
> 
> In my JUnit tests I noticed that, if I request the connection to close from
> within a IdleStateAwareChannelHandler, sometimes the channelDisconnected()
> and channelUnbound() are not dispatched up the pipeline.
> 
> My investigation suggests that there is a race condition bug within the
> NioWorker.close(NioSocketChannel channel, ChannelFuture future) method, at
> the line "if (channel.setClosed()) {", causing the method to incorrectly
> decide that the channel was already closed before and that
> channelDisconnected() and channelUnbound() shall not be called, even if it
> was in charge of closing the connection.
> 
> Is that a correct supposition, worth opening a bug? I may provide more
> detailed information about how the race condition occurs.
> 
> Best regards,
> Daniel Felix Ferber

-- 
Trustin Lee, http://gleamynode.net/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 294 bytes
Desc: OpenPGP digital signature
Url : http://lists.jboss.org/pipermail/netty-dev/attachments/20110112/ec5de915/attachment.bin 


More information about the netty-dev mailing list