Теперь, когда я знаю, каков ваш сценарий (сервер на основе сокетов, который может принимать новые входящие соединения), знаете ли вы, что вы можете добавить дескриптор файла для вашего сокета прослушивания в список для select
?Смотрите, например, http://www.lowtek.com/sockets/select.html.
(Перефразированный пример:)
fd_set socks;
FD_ZERO(&socks);
// Add listener socket
listen(sock, n);
FD_SET(&socks, sock);
// Add existing socket connections
for (i = 0; i < num_existing_connections; i++)
{
FD_SET(&socks, connection[i]);
}
// Will break if any of the existing connections are active,
// or if a new connection appears.
select(..., &socks, ...);