alsa-project/alsa-gobject pull request #8 was opened from takaswie:
As long as using the created Gsource with GMainContext, the call of poll(2) system call with infinite timeout surely returns when quit() method is called for the context. All of GMainContext implements GWakeup with eventfd and the call of quit() emits event via the file descriptor of eventfd. This brings wakeup from blocking when poll(2) is called with inifinite timeout.
In current implementation of alsactl/alsatimer, open(2) is called with O_NONBLOCK and GSource includes explicit timeout to avoid the infinite blocking. However, they are not necessarily required for GMainContext.
This patchset obsoletes these points and adds options as the alternatives.
Request URL : https://github.com/alsa-project/alsa-gobject/pull/8 Patch URL : https://github.com/alsa-project/alsa-gobject/pull/8.patch Repository URL: https://github.com/alsa-project/alsa-gobject