Conversation
|
|
||
| ~TaskData() | ||
| { | ||
| pthread_join(*thread, NULL); |
There was a problem hiding this comment.
Выполнять потенциально длительную операцию в деструкторе - такое себе. Весьма легкий способ выстрелить себе в ногу и потом долго искать, из-за чего код внезапно так тормозит.
| Server server(port); | ||
| server.run(); | ||
| } catch (...) { | ||
| cout << "AAAAAAAAAAAAAAA" << endl; |
| pthread_mutex_destroy(mutex_is_finished); | ||
|
|
||
| if (!is_long_operation) { | ||
| close(sockfd); |
There was a problem hiding this comment.
Мне кажется, что TaskData - не самое логичное место, чтобы управлять сокетами. По сути, сейчас TaskData с is_long_operation == false играет роль хэндла для сокета, и только в случае is_long_operation == true класс начинает иметь смысл для описания задач. Т.е. по сути, два разных по своим целям класса были объединены в один.
|
Ещё стоило удалить файлы из предыдущего задания. Я долго не мог понять, где же новый код. |
|
И ещё не хватает описания протокола |
No description provided.