Я не уверен на 100%, но ничего плохого не произойдет, если вы закроете сокет после запуска select()
. select()
вернет ошибку, если вы передадите ей уже закрытый сокет в начале (см. man-страницу ).
Кроме того, если вы используете select()
для ожидания чтения данных, он может сообщить об этом закрытом сокете как готовом к чтению (поскольку чтение не заблокирует закрытый сокет).
Вы можете написать простую программу и реально проверить, что произойдет в вашей системе.