Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-1618

AbstractFramedStreamSourceChannel.wakeupReads is ignored on certain race conditions

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.0.29.Final
    • 2.0.28.Final
    • Core
    • None

      if a wakeupReads is invoked and the task triggered by resumeReadsInternal has already invoked read, but has not cleared the STATE_IN_LISTENER_LOOP flag.

      The reason for this is that wakeupReads() invokes resumeReadsInternal(wakeup=true), and this method checks if a previous execution has already triggered a read task. If it has done so and the task is still running, resumeReadsInternal returns without trying to read again. However, if that happens after the task has already finished reading, but has not yet cleared the STATE_IN_LISTENER_LOOP, we have a race condition that results in wakeupReads being ignored.

              flaviarnn Flavia Rainone
              flaviarnn Flavia Rainone
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: