Read pending control events
#include <sys/asoundlib.h> int snd_ctl_read( snd_ctl_t *handle, snd_ctl_callbacks_t *callbacks );
libasound.so
The snd_ctl_read() function reads pending control events from the control handle. As each event is read, the list of callbacks is checked for a handler for this event. If a match is found, the callback is invoked. This function is usually called on the return of the select() library call (see the QNX Library Reference).
If you register to receive notification of events (e.g. by using select()), it's very important that you clear the event queue by calling snd_ctl_read(), even if you don't want or need the information. The event queues are open-ended and may cause trouble if allowed to grow in an uncontrolled manner. The best practice is to read the events in the queues as you receive notification, so that they don't have a chance to accumulate. |
The number of events read from the handle, or a negative value on error.
QNX Neutrino
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
snd_ctl_callbacks_t, snd_ctl_file_descriptor(), snd_ctl_open()
select() in the QNX Library Reference