forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix a Chrome renderer hang which would occur in the media stack while…
… running WebGL tests. This was a regression introduced by my fix for bug https://code.google.com/p/chromium/issues/detail?id=179551 The hang occurs because this change introduced a common event object which is used for indicating when asynchronous tasks posted by the RendererGpuVideoDecoderFactories complete. This breaks down for the AsyncCreateSharedMemory task which is posted to the renderer main thread causing a hang in the following case:- 1. The main thread initiates an async task like AsyncReadPixels. 2. CreateSharedMemory is called. This waits for the AsyncCreateSharedMemory task to complete. 3. AsyncReadPixels gets called. It sets the async_waiter_ event. 4. AsyncCreateSharedMemory gets called. It sets the async_waiter_ event. 5. The main thread wakes up. The async_waiter_ auto reset event gets reset. The CreateSharedMemory function in step 2 waits forever for the task to finish. Fix is to add another event object render_thread_async_waiter_ to the RendererGpuVideoDecoderFactories class. This is used to signal completion of tasks posted to the renderer thread. Fixes bug https://code.google.com/p/chromium/issues/detail?id=233673 I verified that bug 179551 does not recur with this change. BUG=233673 R=fischman Review URL: https://codereview.chromium.org/14411002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195944 0039d316-1c4b-4281-b951-d872f2087c98
- Loading branch information
ananta@chromium.org
committed
Apr 23, 2013
1 parent
26b81db
commit ed2db2a
Showing
2 changed files
with
25 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters