Signaling Mach semaphores from an IOProc

What is the official stance on the safety of signaling Mach semaphores from within a Core Audio real-time context?

The most recent guidance I can find says:

To ensure glitch-free performance, audio processing must occur in a real-time safe context. Don’t allocate memory, perform file I/O, take locks, or interact with the Swift or Objective-C runtimes when rendering audio.

Mach semaphores have internal synchronization primitives (a spinlock and perhaps others) but I also believe that the scheduling priority level is elevated internally to prevent priority inversion. So while it seems that Mach semaphores could be prohibited I wonder if that is truly the case here.

So while a call to semaphore_signal does involve locks, in a Core Audio real-time context, is it safe?

Signaling Mach semaphores from an IOProc
 
 
Q