何らかの理由で中断された場合に処理したいepoll_wait
(たとえば、SIGINT による)
while ( true ) {
n = epoll_wait ( epoll_fd, events, max_events, -1 );
if ( errno == EINTR ) {
...
}
}
しかし、デバッガーは にも行きませんでしたif
。プログラムは で終了しましたepoll_wait
。私はいくつかの魔法を追加しました:
signal ( SIGINT, placebo );
while ( true ) {
n = epoll_wait ( epoll_fd, events, max_events, -1 );
if ( errno == EINTR ) {
...
}
}
そして、すべてが期待どおりに機能します。しかし、これは醜いです。epoll_wait
anyの割り込みを処理させる正しい方法は何ですか?