GPUProcess does not properly get relaunched after crashing.
Created attachment 413726 [details] Patch
Created attachment 413727 [details] Patch
Comment on attachment 413727 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=413727&action=review > Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:86 > GPUProcessProxy* GPUProcessProxy::m_singleton = nullptr; Can we use WeakPtr for m_singleton?
(In reply to Geoffrey Garen from comment #3) > Comment on attachment 413727 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=413727&action=review > > > Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:86 > > GPUProcessProxy* GPUProcessProxy::m_singleton = nullptr; > > Can we use WeakPtr for m_singleton? In file included from /Volumes/Data/WebKit/OpenSource/WebKitBuild/Release/DerivedSources/WebKit2/unified-sources/UnifiedSource54.cpp:3: /Volumes/Data/WebKit/OpenSource/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:86:43: error: declaration requires an exit-time destructor [-Werror,-Wexit-time-destructors] WeakPtr<GPUProcessProxy> GPUProcessProxy::m_singleton; /Volumes/Data/WebKit/OpenSource/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:86:43: error: declaration requires a global destructor [-Werror,-Wglobal-constructors] Do you have a proposal to make it work?
I *think* NeverDestroyed<WeakPtr<GPUProcessProxy>> should work, since NeverDestroyed avoids exit time destructors and WeakPtr allows assignment.
Created attachment 413739 [details] Patch
Committed r269657: <https://trac.webkit.org/changeset/269657> All reviewed patches have been landed. Closing bug and clearing flags on attachment 413739 [details].
<rdar://problem/71258139>