Fix some GPU restart races.
commitf61d80e7d69770c31f89216a626b51583a2fb205
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Sat, 12 Jan 2013 19:24:54 +0000 (12 19:24 +0000)
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Sat, 12 Jan 2013 19:24:54 +0000 (12 19:24 +0000)
treeae6bfbc6dfda6ff03cea5024ee998373cc7afaae
parent3a01b1b03a9bfccaddf9266a1a77a3e283460a9e
Fix some GPU restart races.

GpuProcessHost::SendOutstandingReplies will callback the caller with failure,
which may want to retry establishing the channel on a new process right away. So
make sure to be in a consitent state (valid_ = false) in that case.

Also, I observed on Chrome OS at least (haven't been able to repro on Linux
desktop) that the channel failure isn't always detcted right away by the
ChildProcessHost, meaning the request to create a new channel can hang for a
while. So make sure we signal failure as soon as we detect it.

BUG=165849

Review URL: https://chromiumcodereview.appspot.com/11859006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176573 0039d316-1c4b-4281-b951-d872f2087c98
content/browser/gpu/gpu_process_host.cc