|
В общем, хотел я схитрить и сделать разделение клиентов между потоками: на слушающем сокете ожидает данных только один поток и при коннекте клиента «отдает» этот дескриптор одному из клиентских потоков, присоединяя его к множеству прослушиваемых потоком сокетов. Только вот оказалось, что во время epoll_wait и аналогичного вызова kqueue невозможно добавить сокет к уже прослушиваемым (точнее, такое ощущение, что epoll в Linux это позволяет, а kqueue -- нет). Соответственно, мне не совсем понятно, каким образом можно передать дескриптор нового соединения в другую очередь дескрипторов.
|