我會寫一個小測試,通過捕獲任何中斷的信號來顯示epoll_Wait
和epoll_pwait()
之間的差異。任何人都可以通過一個小代碼或任何方法提供給我,以找到它?如何中斷epoll_pwait捕獲信號
int epoll_pwait(int epfd, struct epoll_event *events,
int maxevents, int timeout,
const sigset_t *sigmask);
我會寫一個小測試,通過捕獲任何中斷的信號來顯示epoll_Wait
和epoll_pwait()
之間的差異。任何人都可以通過一個小代碼或任何方法提供給我,以找到它?如何中斷epoll_pwait捕獲信號
int epoll_pwait(int epfd, struct epoll_event *events,
int maxevents, int timeout,
const sigset_t *sigmask);
epoll_pwait不「抓信號」,它可以讓你設置原子的新工藝信號面具其在通話過程中才有效。請參閱手冊頁上的說明,例如http://linux.die.net/man/2/epoll_wait
你試圖實現什麼?如果你更具體,我可能會給你更多的信息。
如果您正在尋找將信號處理集成到epoll
事件循環中的方法,請查看signalfd(2)
man page。
它會給你一個fd,你可以添加到你的pollset中,當你的進程(或者線程,如果這在你的情況下是相關的)接收到一個信號時通知你。
你有一些代碼嗎?爲了發送信號,我建議閱讀「男人1殺」和「男人2殺」。 – thuovila