Posso esperar por uma das várias conexões de rede usando select
ou epoll
. Posso esperar por um sinal usando sigwaitinfo
ou adicionar um manipulador para executar no recebimento do sinal.
Como posso esperar que um soquete de rede tenha tráfego de entrada ou um sinal específico (SIGWINCH, no meu caso)?
Uma ideia que me ocorre é fazer com que o manipulador de sinal envie tráfego "loopback" para algum descritor de arquivo aberto, para que epoll
possa aguardá-lo. Mas eu preferiria não criar nenhum arquivo. Talvez haja uma maneira de criar dois novos descritores de arquivo que sejam conectados diretamente um ao outro?