Closed
Bug 988421
Opened 12 years ago
Closed 12 years ago
spdy pushed stream concurrency counting problem
Categories
(Core :: Networking: HTTP, defect)
Tracking
()
RESOLVED
FIXED
mozilla31
People
(Reporter: mcmanus, Assigned: mcmanus)
Details
(Whiteboard: [spdy])
Attachments
(1 file)
|
8.13 KB,
patch
|
u408661
:
review+
|
Details | Diff | Splinter Review |
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 | ||
Comment 1•12 years ago
|
||
Attachment #8397200 -
Flags: review?(hurley)
| Assignee | ||
Updated•12 years ago
|
Assignee: nobody → mcmanus
Status: NEW → ASSIGNED
| Assignee | ||
Comment 2•12 years ago
|
||
Attachment #8397200 -
Flags: review?(hurley) → review+
| Assignee | ||
Comment 3•12 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla31
You need to log in
before you can comment on or make changes to this bug.
Description
•