Здравствуйте. В программе юзается сабж (т.к. коннект происходит сразу к нескольким серверам, и connect() не должна блокировать программу).
Опишу проблему: к примеру в poll() передается массив из 7 структур, 3 из которых имеют fd равным -1. poll() почему то возвращает 6.
При просмотре этих шести, поле revents не нулевое только у 2 структур (обязательно первых в массиве). netstat при этом показывает 4 established конекта, причем с непустым входным буфером.
При следующих выховах poll() ничего не меняется (между вызовами с сокетами ничего пока не делаю, т.е. входной буфер остается непустым), возвращает он также 6 и только две ненулевые структуры.
В чем может быть проблема? Вообще как вместе работают неблокирующий сокет и poll()? Или как я сделал в принципе и не должно работать?