c ++ linux accept () блокировка после закрытия сокета
У меня есть поток, который слушает новые соединения
new_fd = accept(Listen_fd, (struct sockaddr *) & their_addr, &sin_size);
и другой поток, который закрывает Listen_fd, когда пришло время закрыть программу. После того как Listen_fd закрыт, он все равно блокируется. Когда я использую GDB для отладки, accept () не блокируется. Я подумал, что это может быть проблема с SO_LINGER, но он не должен быть включен по умолчанию и не должен меняться при использовании GDB. Любая идея, что происходит, или любое другое предложение о закрытии сокета листинга?