Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.5
    • Fix Version/s: 0.5
    • Component/s: proton-c
    • Labels:
      None
    • Environment:
      osx

      Description

      If a peer closes the socket at an inopportune time poll() will start returning POLLHUP but not POLLERR. this drives messenger into a busyloop as the driver does not check this flag.

      The messenger instance is still able to service other connections but it's doing so at 100% cpu load as every poll() call returns immediately.

      1. 0001-Handle-POLLHUP-as-pending-io.patch
        2 kB
        Bozo Dragojevic
      2. 0001-Handle-POLLHUP-as-POLLERR.patch
        1 kB
        Bozo Dragojevic
      3. confuse-driver.py
        4 kB
        Bozo Dragojevic

        Activity

        Bozo Dragojevic created issue -
        Bozo Dragojevic made changes -
        Field Original Value New Value
        Attachment confuse-driver.py [ 12595010 ]
        Bozo Dragojevic made changes -
        Attachment 0001-Handle-POLLHUP-as-POLLERR.patch [ 12595248 ]
        Bozo Dragojevic made changes -
        Attachment 0001-Handle-POLLHUP-as-pending-io.patch [ 12595371 ]
        Ted Ross made changes -
        Assignee Ted Ross [ tedross ]
        Ted Ross made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 0.5 [ 12324004 ]
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            Ted Ross
            Reporter:
            Bozo Dragojevic
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development