Ну, я пишу многопоточный FTP-сервер, и теперь я пытаюсь реализовать прерывание передачи данных. Это часть моего кода, управляющего прерыванием передачи данных.
ABORCommand(); //sends message with code 226 (1st message)
pthread_join(threads, &ret); //waits for the thread processing data transfer
sprintf(buffer, "226 Transfer complete - %d bytes copied.\r\n", data_comm->num_bytes);
Send(); //this just sends the message in buffer to the client (2nd message)
WriteToLog("transfer complete", "226");
close(data_comm->clie_sock); //closes the data connection
delete data_comm; //this deletes instance of the class taking care of data transfer
Спасибо
Хорошо, сначала ты правда
Я получаю сообщение об ошибке и тонна утечки памяти. Я знаю, что чтение из закрытого сокета дает ошибку, но это не должно привести к сбою всей программы
Так да :
А также в общем виде:
После этого я не очень хорошо понимаю вашу проблему. Так что смотрите мои комментарии, и я буду обновлять этот ответ.
Других решений пока нет …