summaryrefslogtreecommitdiffstats
path: root/ipc/glue/MessageChannel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ipc/glue/MessageChannel.cpp')
-rw-r--r--ipc/glue/MessageChannel.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/ipc/glue/MessageChannel.cpp b/ipc/glue/MessageChannel.cpp
index 16eb897175..544ce59b8e 100644
--- a/ipc/glue/MessageChannel.cpp
+++ b/ipc/glue/MessageChannel.cpp
@@ -1604,9 +1604,13 @@ nsresult MessageChannel::MessageTask::Run() {
return NS_OK;
}
+ Channel()->AssertWorkerThread();
+ mMonitor->AssertSameMonitor(*Channel()->mMonitor);
+
#ifdef FUZZING_SNAPSHOT
if (!mIsFuzzMsg) {
- if (fuzzing::Nyx::instance().started()) {
+ if (fuzzing::Nyx::instance().started() && XRE_IsParentProcess() &&
+ Channel()->IsCrossProcess()) {
// Once we started fuzzing, prevent non-fuzzing tasks from being
// run and potentially blocking worker threads.
//
@@ -1622,8 +1626,6 @@ nsresult MessageChannel::MessageTask::Run() {
}
#endif
- Channel()->AssertWorkerThread();
- mMonitor->AssertSameMonitor(*Channel()->mMonitor);
proxy = Channel()->Listener()->GetLifecycleProxy();
Channel()->RunMessage(proxy, *this);