Вот в чём проблема: если я убиваю дочерний процесс, далее wait(&status); то всё нормально: сокеты вновь создаются и всё работает, но если я не убиваю дочерний процесс, а просто закрываю сокеты, потом их вновь создаю, то вылезает ошибка при вызове bind: perror выводит: Address already in use. То есть порт занят. Но ведь я закрыл сокет! Даже shutdown(sock, SHUT_RDWR) вызвал для него!
Вопрос: как правильно освободить сокет, что бы его можно было сразу же создать, не используя wait

