Skip to main content

Functions

ar_osal_signal_init

initialize a signal object. The client must allocate the memory for the signal and pass the pointer to this function. The signal object is initially cleared. @datatypes ar_osal_signal_t
Parameters
ar_osal_signal_t
Pointer to the signal object.
Returns 0 Success Nonzero Failure

ar_osal_signal_deinit

De-initialize a signal object. @datatypes ar_osal_signal_t
Parameters
ar_osal_signal_t
Pointer to the signal.
Returns 0 Success Nonzero Failure

ar_osal_signal_get_size

Get signal object size for client to allocate its memory. @datatypes ar_osal_signal_t
Returns Size of signal object

ar_osal_signal_create

Create a signal and initialize. Signal object memory is allocated by this API and returned to the client. The signal object is initially cleared. ar_osal_signal_create() or ar_osal_signal_init() would be used, but not both. @datatypes ar_osal_signal_t
Parameters
ar_osal_signal_t *
Pointer to the signal.
Returns 0 Success Nonzero Failure

ar_osal_signal_destroy

Destroy a signal. Frees the memory allocated by ar_osal_signal_create API. Signal objects must not be destroyed while its still in use. @datatypes ar_osal_signal_t
Parameters
ar_osal_signal_t
Pointer to the signal.
Returns 0 Success Nonzero Failure

ar_osal_signal_set

Sets signal in the specified signal object. @datatypes ar_osal_signal_t
Parameters
ar_osal_signal_t
Pointer to the signal.
Returns 0 Success Nonzero Failure

ar_osal_signal_clear

Clear signal in the specified signal object. Signal must be explicitly cleared by a thread when it is awakened, the wait operations do not automatically clear it. Clearing a signal that is already cleared has no effect. @datatypes ar_osal_signal_t
Parameters
ar_osal_signal_t
Pointer to the signal.
Returns 0 Success Nonzero Failure

ar_osal_signal_wait

Wait on a signal, wait infinitely for the signal to be set. If a thread is waiting on a signal object for signal to be set, and the signal object is set, then the thread is awakened. The signal can be cleared once the signal is set. The signal must be manually cleared using the ar_osal_signal_clear function. Any number of waiting threads, or threads that subsequently begin wait operations for the specified signal object, will be released while the signal object’s state is signaled. If a signal is set before a thread is waiting, then it will be returned immediately and the signal must be cleared to avoid unintended behavior @datatypes ar_osal_signal_t
Parameters
ar_osal_signal_t
Pointer to the signal.
Returns 0 Success Nonzero Failure

ar_osal_signal_timedwait

Wait on signal till timeout happens. The signal can be cleared once the signal is set or timeout occurs. The signal must be manually cleared using the ar_osal_signal_clear function. Any number of waiting threads, or threads that subsequently begin wait operations for the specified signal object, will be released while the signal object’s state is signaled. If a signal is set before a thread is waiting, then it will be returned immediately and the signal must be cleared to avoid unintended behavior @datatypes ar_osal_signal_t
Parameters
ar_osal_signal_t
Pointer to the signal.
int64_t
Time to wait in nano seconds
Returns 0 Success Nonzero Failure

Type Definitions

ar_osal_signal_t

Signal to be triggered by events, or used to trigger events.