Closed Bug 1039577 Opened 10 years ago Closed 10 years ago

CrashReporter::OOPInit should be multithread-safe

Categories

(Toolkit :: Crash Reporting, defect)

x86_64
Linux
defect
Not set
normal
Points:
2

Tracking

()

RESOLVED FIXED
mozilla33
Iteration:
33.3

People

(Reporter: benjamin, Assigned: benjamin)

References

Details

Attachments

(1 file)

Currently CrashReporter::OOPInit assumes that it's called from the main thread, but in the case of GMP plugins that's no longer true. The patch I will attach shortly synchronously proxies the work to the main thread.

I believe that the rest of the code is already threadsafe; it's used from the IPC thread and others already.
Attachment #8456971 - Flags: review?(ted)
Comment on attachment 8456971 [details] [diff] [review]
bug1039577-OOPInit

Review of attachment 8456971 [details] [diff] [review]:
-----------------------------------------------------------------

::: toolkit/crashreporter/nsExceptionHandler.cpp
@@ +2561,1 @@
>    if (OOPInitialized())

There shouldn't be any risk of races here if this is called from multiple background threads because they'll be serialized on the main thread, right?
Attachment #8456971 - Flags: review?(ted) → review+
Correct, the proxy to the main thread is the inherent synchronization.
https://hg.mozilla.org/integration/mozilla-inbound/rev/fcb0e9c6c148
Target Milestone: --- → mozilla33
QA Whiteboard: [qa-]
Iteration: --- → 33.3
https://hg.mozilla.org/mozilla-central/rev/fcb0e9c6c148
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Flags: firefox-backlog+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: