mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This is a test-only change except for the introduction of a new request that is only used by tests. Our notifications are dispatched in the XPC event handler, which is not synchronized with replies to explicit XPC send_message_with_reply calls. This is fine for most users of sourcekitd, since the notifications are already enqueued on the client side, but for testing we need a way to guarantee that all notifications are passed to the client-side handler before we exit. This commit introduces a new request for testing that triggers a notification, allowing the client to wait on that notification to ensure all previously posted notifications have been handled. Note: the non-deterministic test failures can be triggered by adding a sleep of ~100 ms in the event handler before the notification is dispatched to the main queue. rdar://40311995
20 KiB
20 KiB