Post

Replies

Boosts

Views

Activity

Reply to How to pass a `os_workgroup_t` to a child process?
I am also interested in knowing more about this. What I have tried so far is In Process A: os_workgroup_t wgi = AudioWorkIntervalCreate("myWorkGroup", os_clockid_t::OS_CLOCK_MACH_ABSOLUTE_TIME, nullptr); if (mach_port_t mp = 0; os_workgroup_copy_port(wgi_, &mp) == 0) { // mach_port_t is an unsigned int, here I send value of `mp` to process B. } In Process B: // Received value of `mp` from Process A, then... const auto handle = os_workgroup_create_with_port("hello", mp); I always get a nullptr in handle.
Nov ’23
Reply to Deadlock in AudioWorkIntervalCreate
In the scenario where I am seeing this have multiple programs that are started at the same time, and each of them is calling AudioWorkIntervalCreate. When the deadlock appears I can see multiple programs being stuck with the same stacktrace. If I kill one of them, many of the remaining ones gets out of the deadlock, so I am guessing that this is some kind of deadlock inbetween the multiple apps. All of the programs use that same name for the workgroup as in: AudioWorkIntervalCreate("myWorkGroup", os_clockid_t::OS_CLOCK_MACH_ABSOLUTE_TIME, nullptr); Does this name need to be system wide unique?
May ’24