10 Replies Latest reply on Apr 11, 2013 7:35 AM by Jeremy Whiting

    NioEndpoint processing of channels already in list.

    Jeremy Whiting Expert

      Hi,

      I have come across what I think is an issue in the NioEndpoint.Acceptor class.

       

      The NioEndpoint.Acceptor.run (line 625) method checks the condition of several methods. Depending on those all being true it proceeds to process the channel. The issue for me is given a particular set of conditions the channel will never be processed.

       

      Those 3 method calls are:

       

      NioEndpoint.addChannel

      NioEndpoint.setChannelOptions

      NioChannel.isOpen

       

      The problematic condition set is when a channel already exists in the connection list (NioEndpoint.connections). That means when the above 3 method calls are executed the return values will be

       

      false

      true

      true

       

      causing the if blocks branch for true not get executed. The channel will never be processed.

       

      Do you see what I mean ? Have I misunderstood what is intended to be happening here ?

       

      Regards,

      Jeremy

       

      Using EAP 6.1 with 7.2 Final version of jbossweb.