When processing the WIRPermissionDenied message we have to avoid grabs of the mutex in RemoteInspector and RemoteInspectorXPCConnection. Address both of these by creating a stop/close path that takes locks, and a path that does not take locks.
<rdar://problem/16559247>
Created attachment 228907 [details] [PATCH] Proposed Fix Tested with a daemon that always responded with WIRPermissionDenied, and this fixes the issue.
Comment on attachment 228907 [details] [PATCH] Proposed Fix View in context: https://bugs.webkit.org/attachment.cgi?id=228907&action=review > Source/JavaScriptCore/inspector/remote/RemoteInspector.h:68 > + enum StopSource { StopSourceAPI, StopSourceXPCMessage }; IIRC, we don't typically repeat the enum name. So: enum StopSource { API, XPCMessage }; But I could be wrong.
(In reply to comment #3) > (From update of attachment 228907 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=228907&action=review > > > Source/JavaScriptCore/inspector/remote/RemoteInspector.h:68 > > + enum StopSource { StopSourceAPI, StopSourceXPCMessage }; > > IIRC, we don't typically repeat the enum name. So: > > enum StopSource { API, XPCMessage }; > > But I could be wrong. Seems fine. I'll make that change.
Even better: enum class StopSource { API, XPCMessage }; And call sites use: StopSource::API, StopSource::XPCMessage
Created attachment 228914 [details] [PATCH] For Landing
Attachment 228914 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/inspector/remote/RemoteInspector.h:68: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 1 in 5 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 228914 [details] [PATCH] For Landing Clearing flags on attachment: 228914 Committed r166982: <http://trac.webkit.org/changeset/166982>
All reviewed patches have been landed. Closing bug.