Bug 128384 - [iOS] Eliminate race between XPC connection queue and Notification queue
Summary: [iOS] Eliminate race between XPC connection queue and Notification queue
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Inspector (Deprecated) (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
Keywords: InRadar
Depends on:
Reported: 2014-02-07 11:12 PST by Joseph Pecoraro
Modified: 2014-02-07 14:26 PST (History)
5 users (show)

See Also:

[PATCH] Proposed Fix (5.46 KB, patch)
2014-02-07 11:14 PST, Joseph Pecoraro
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.