Earlier quoted context omitted.
> XPC is not asynchronous It's been some time since I dug into the internals of XPC, but my assumption was that the underlying protocol is asynchronous, and if you do sync calls the wrappers just do the waiting for you. The problem is that it has a tendency to get stuck in some rare cases, where services just don't reply for some reason. Then the sync calls are the worst -- the UI of the app is completely frozen and…
XPC sync is not in fact async underneath in recent macOS versions. It’s a severe performance pessimization to use async in many cases, because sync propagates thread priority and async often can’t. You don’t seem to have a full grip on the reasons for the intermittent hangs you’re experiencing. Can I suggest two things? 1 Grab a sysdiagnose during one of the hangs and file a feedback report with Apple 2 Use the `samp…
That's interesting! I thought XPC was a wrapper around async mach messages. Do you have any pointers where I can learn more about this?