Здравствуйте, Аноним, Вы писали:
А>здравствуйте
А>в свое клиент-серверном приложении при обнаружении ошибки чтения-записи я закрываю сокет, а потом вызываю
А>А>epoll_ctl(epoll, EPOLL_CTL_DEL, socket, NULL);
А>
А>вот описание функции:
А>http://www.kernel.org/doc/man-pages/online/pages/man2/epoll_ctl.2.html
А>после вызова errno имеет значение
А>EBADF epfd or fd is not a valid file descriptor.
Всё правильно. Вы его закрыли — он автоматически вынесся из списков epoll.
Вот в SysV /dev/poll надо было выносить явно. Но это уже сколько лет назад было.
А>насколько это критично? имеет ли смысл вызов epoll_ctl после закрытия сокета?
Нет.
А> или надо сначала вызвать epoll_ctl, а потом только закрывать сокет?
Без разницы.