Closed
Bug 1033461
Opened 10 years ago
Closed 9 years ago
Consider closing phantom output stream under CacheEntry's lock before callbacks invocation.
Categories
(Core :: Networking: Cache, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 1154124
People
(Reporter: mayhemer, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [necko-backlog])
CacheEntry::OnHandleClosed closes the phantom output stream when it has not been taken (actually open) by the writer.
But it happens a) after the next callback (consumer) in line has been invoked and b) outside the lock so that any other consumer could try opening the output stream before the phantom one has been closed (and more importantly - removed from the CacheFile.) That would lead to NS_ERROR_NOT_AVAILABLE being thrown and inability to cache the data.
I don't see any chance for reentering the CacheEntry's code from CacheFile::OnOutputRemoved() - OnOutputClosed is redispatched - so it should be OK to close the output stream before callbacks and before leaving the lock.
Reporter | ||
Comment 1•10 years ago
|
||
Same for CacheEntry::SetValid()
Reporter | ||
Updated•10 years ago
|
Blocks: cache2polish
Updated•9 years ago
|
Whiteboard: [necko-backlog]
Reporter | ||
Updated•9 years ago
|
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•