Bug 1065881 - [e10s] Crash on child process shutdown in ShadowLayerForwarder::InWorkerThread. r=nical

Had caused a crash in the test_streams_element_capture mochitest on Windows.  The issue was that the audio decoder thread was destroying stale media frames by releasing a reference to them.  This was causing the release of an Image on that thread, but that thread does not process a MessageLoop so the current MessageLoop is null.  This is not a problem.  Obviously, any thread that has no MessageLoop can't be the worker thread.
This commit is contained in:
David Parks 2014-10-12 16:23:20 -07:00
parent 9b055d7b3a
commit 9d03234368
2 changed files with 1 additions and 2 deletions

View File

@ -460,7 +460,6 @@ skip-if = true # bug 1021673
[test_standalone.html]
[test_streams_autoplay.html]
[test_streams_element_capture.html]
skip-if = e10s && os == 'win' # Bug 1065881 - Crash on child process shutdown in ShadowLayerForwarder::InWorkerThread
[test_streams_element_capture_createObjectURL.html]
[test_streams_element_capture_playback.html]
[test_streams_element_capture_reset.html]

View File

@ -494,7 +494,7 @@ ShadowLayerForwarder::RemoveTextureFromCompositableAsync(AsyncTransactionTracker
bool
ShadowLayerForwarder::InWorkerThread()
{
return GetMessageLoop()->id() == MessageLoop::current()->id();
return MessageLoop::current() && (GetMessageLoop()->id() == MessageLoop::current()->id());
}
static void RemoveTextureWorker(TextureClient* aTexture, ReentrantMonitor* aBarrier, bool* aDone)