Bug 800347 - Try clearing RPCChannel in the destructor so that the dequeue task is cancelled properly, r=dvander
authorBenjamin Smedberg <benjamin@smedbergs.us>
Thu, 12 Sep 2013 14:24:17 -0400
changeset 159776 a904ad651bffa32c135dba955cfd7a20add73c78
parent 159775 742d5330f0c32afccffa420f0e38f7733471dfbe
child 159777 6991d8efb98bbd8701e1c19dfe81341eaf643d86
push id2961
push userlsblakk@mozilla.com
push dateMon, 28 Oct 2013 21:59:28 +0000
treeherdermozilla-beta@73ef4f13486f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdvander
bugs800347
milestone26.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 800347 - Try clearing RPCChannel in the destructor so that the dequeue task is cancelled properly, r=dvander
ipc/glue/RPCChannel.cpp
--- a/ipc/glue/RPCChannel.cpp
+++ b/ipc/glue/RPCChannel.cpp
@@ -46,16 +46,17 @@ RPCChannel::RPCChannel(RPCListener* aLis
                                                  this,
                                                  &RPCChannel::OnMaybeDequeueOne));
 }
 
 RPCChannel::~RPCChannel()
 {
     MOZ_COUNT_DTOR(RPCChannel);
     RPC_ASSERT(mCxxStackFrames.empty(), "mismatched CxxStackFrame ctor/dtors");
+    Clear();
 }
 
 void
 RPCChannel::Clear()
 {
     mDequeueOneTask->Cancel();
 
     AsyncChannel::Clear();