我正在将一个混音器从 Windows 上的 directsound 移植到 Linux 上的 alsa。我正在使用系统调用“poll”对 16 个文件描述符进行轮询。现在我需要能够以某种方式中止轮询。在 Windows 上,我正在使用 WaitForMultipleObjects 使用事件,当我需要中止等待时,我只是在导致等待返回的事件之一上设置事件。有什么方法可以在 Linux 中将文件描述符标记为“就绪”,以便轮询返回?
我看过 ppoll 但我不熟悉信号,我不想处理不必要的竞争条件。我的意思是,如果 alsa 可以将文件描述符设置为“就绪”,我也应该能够;)