2012-05-14 49 views
4

是否有替代signalfd(在Mac OS X上不可用)?我使用select多路複用I/O,並希望以某種同步方式接收信號。signalfd的替代方案

+0

你可以用一個專用線程和一個合適的信號掩模來模擬它。 – Flexo

回答

4

man kqueue並在那裏尋找EVFILT_SIGNAL

kqueue()返回的描述符應該是poll() able/select() able。可以使用kevent()調用來註冊和讀出事件。

Original kqueue paper

P.S.我希望自己沒有太多缺點,我自己也沒有機會使用克里克。