Closed Bug 988421 Opened 7 years ago Closed 7 years ago
spdy pushed stream concurrency counting problem
a spdy stream pushes up mConcurrent when it is activated, but before it actually gets a stream id. that's intentional - we don't want to start buffering from more requests than we can actually send out immediately and the id cannot be assigned until the syn-stream is sent because they must be monotonically increasing. however a pulled stream that gets hooked up with a pushed cache hit never gets assigned a real stream id (because it never sends a syn-stream, it just uses the data from the pushed stream). This lead to a leak in the mConcurrent semaphore. The fix is just to release the mConcurrent count when a push hit is made. HTTP-2 is better here, in that all streams get cleaned up and we explicitly track whether or not they are counted against mConcurrent.. so there isn't a leak. However I added the release code to HTTP-2 as well because it allows the concurrency slot to be utilized for another pull stream earlier rather than waiting for the cleanup.
Assignee: nobody → mcmanus
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla31
You need to log in before you can comment on or make changes to this bug.