Bug 128384

Summary: [iOS] Eliminate race between XPC connection queue and Notification queue
Product: WebKit Reporter: Joseph Pecoraro <joepeck>
Component: Web Inspector (Deprecated)Assignee: Nobody <webkit-unassigned>
Severity: Normal CC: commit-queue, ddkilzer, ggaren, joepeck, timothy
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Description Flags
[PATCH] Proposed Fix none

Description Joseph Pecoraro 2014-02-07 11:12:08 PST
Radar: <rdar://problem/16009483>

1. Launch Remote Debugger
2. Launch MobileSafari
3. Suspend MobileSafari
4. Close Remote Debugger
5. Launch Remote Debugger
6. Launch MobileSafari
  => at either step (5) or (6) the suspended -> resumed MobileSafari should have responded to the "com.apple.webinspectord.available" notification and re-connected to webinspectord. However, it did not.

This is a race between the notification handler on a generic global queue and the xpc failed notification being handled on the XPC connection queue.

Sharing a queue gives us the correct deterministic ordering.
Comment 1 Joseph Pecoraro 2014-02-07 11:14:21 PST
Created attachment 223475 [details]
[PATCH] Proposed Fix
Comment 2 WebKit Commit Bot 2014-02-07 14:26:05 PST
Comment on attachment 223475 [details]
[PATCH] Proposed Fix

Clearing flags on attachment: 223475

Committed r163648: <http://trac.webkit.org/changeset/163648>
Comment 3 WebKit Commit Bot 2014-02-07 14:26:07 PST
All reviewed patches have been landed.  Closing bug.