Function safety

Function safety refers to whether or not it's safe to use the QNX OpenMAX AL API functions in certain situations.

All QNX OpenMAX AL API functions are thread-safe and behave as documented even in a multithreaded environment, as long as no more than one thread uses the same explicit handle at the same time.

API functions are neither interrupt-safe nor signal-safe. Consequently, you shouldn't call them in an interrupt handler or signal handler.

For more information on how QNX defines function safety situations outside of the POSIX context, refer to the What's in a Function Description? section in the C Library Reference.

Classification:

QNX Neutrino

Safety
Cancellation point No; read the Caveats
Interrupt handler No
Signal handler No
Thread Yes; read the Note

Caveats:

Any QNX OpenMAX AL API library function may contain a cancellation point. However, cancelling a thread while it's executing an API function can cause leaks or leave data structures in a bad state. If you need to call API functions from a thread that might be cancelled during the call or might already have a pending cancellation request, then disable cancellation for the duration of the call.

Note:

The QNX media engine supports the thread-safe mode of the Khronos OpenMAX AL API, and the QNX extensions are thread-safe. Refer to OpenMAX AL 1.1 specification, available on Khronos OpenMAX AL Registry.

Page updated: