Details

    • Number of attachments :
      0

      Description

      This is a hard one, because I can't reproduce it except with one of my apps that's already doing it.

      In an app, I have a TCPSocket that connects to an IRC server. I'm also running a TCPServer to interface with the outside world to do some things. I have no threads, and a main loop that revolves around IO.select. My app gets to the point where select is being called with [[TCPServer, TCPSocketA], [TCPSocketA], []]. The return I get is something that I don't think is supposed to happen, and looks like [[], [nil], []]. If I disable the TCPServer, everything works as expected.

      The exact code I'm running is available at https://github.com/malkier/kythera/tree/jruby

        Activity

        Hide
        Eric Will added a comment -

        I meant to mention I've tried to replicate it in irb but I was not successful.

        Show
        Eric Will added a comment - I meant to mention I've tried to replicate it in irb but I was not successful.
        Hide
        Charles Oliver Nutter added a comment -

        A rewrite and cleanup of various IO channels and selection logic should prevent this from happening anymore. Specifically, we were selecting for the wrong combinations of events and then having no keys in the resulting interest arrays.

        Show
        Charles Oliver Nutter added a comment - A rewrite and cleanup of various IO channels and selection logic should prevent this from happening anymore. Specifically, we were selecting for the wrong combinations of events and then having no keys in the resulting interest arrays.

          People

          • Assignee:
            Charles Oliver Nutter
            Reporter:
            Eric Will
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: