mNextListener is protected by a mutex, suggesting it can be changed on multiple threads. nsUnknownDecoder::OnDataAvailable null checks mNextListener, releases the mutex, then acquires the mutex and then uses mNextListener again. mNextListener could have been set to null after it was null checked.
mNextListener is used by main thread(in onStartRequest ang OnStopRequest) and off main thread (onDataAvailable), but we guarantee that this functions are called in sequence. Therefore mutex is only that tsan do not complain. The situation from th description cannot happen.
Status: NEW → RESOLVED
Last Resolved: 8 months ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.