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.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/ipc/glue/MessageChannel.cpp b/ipc/glue/MessageChannel.cpp
index a7fc135748..16eb897175 100644
--- a/ipc/glue/MessageChannel.cpp
+++ b/ipc/glue/MessageChannel.cpp
@@ -473,9 +473,8 @@ MessageChannel::~MessageChannel() {
// would be unsafe to invoke our listener's callbacks, and we may be being
// destroyed on a thread other than `mWorkerThread`.
if (!IsClosedLocked()) {
- CrashReporter::AnnotateCrashReport(
- CrashReporter::Annotation::IPCFatalErrorProtocol,
- nsDependentCString(mName));
+ CrashReporter::RecordAnnotationCString(
+ CrashReporter::Annotation::IPCFatalErrorProtocol, mName);
switch (mChannelState) {
case ChannelConnected:
MOZ_CRASH(
@@ -537,6 +536,12 @@ int32_t MessageChannel::CurrentNestedInsideSyncTransaction() const {
return mTransactionStack->TransactionID();
}
+bool MessageChannel::TestOnlyIsTransactionComplete() const {
+ AssertWorkerThread();
+ MonitorAutoLock lock(*mMonitor);
+ return !mTransactionStack || mTransactionStack->IsComplete();
+}
+
bool MessageChannel::AwaitingSyncReply() const {
mMonitor->AssertCurrentThreadOwns();
return mTransactionStack ? mTransactionStack->AwaitingSyncReply() : false;