сделайте все-таки проверку хэндла не только на неравенство с "-1", но и с "0" перед закрытием сокета и попробуйте. Скорее всего, проблема, как отмечал уже Артем, в закрытии закрытого сокета.