Это продолжение вопроса 14221339.
У меня есть пул потоков, который работает внутри цикла epoll_wait().
Внешний поток вызывает epoll_ctl() и добавляет сокет слушателя с
(EPOLLET | EPOLLONESHOT | EPOLLIN).
Когда пул потоков имеет только один поток, он периодически не может получить событие EPOLLIN для первой (и единственной) попытки подключения. Если я увеличу пул потоков до двух, он почти всегда не сможет получить событие EPOLLIN.
Насколько я понимаю, API epoll является потокобезопасным, но это наблюдение, похоже, указывает на обратное.