if (conn->player_thread) {
debug(2, "player_thread cancel...");
pthread_cancel(*conn->player_thread);
+ debug(2, "player_thread join...");
pthread_join(*conn->player_thread, NULL);
debug(2, "player_thread joined.");
free(conn->player_thread);
if (conn->stop == 0) {
int err = msg_write_response(conn->fd, resp);
if (err) {
+ int odv = debuglev;
+ debuglev = 3;
debug(1,"A communication error was detected. Closing the play session.");
- conn->stop = 1;
- pthread_cancel(conn->thread);
+ player_stop(conn);
+ debuglev = odv;
}
}
pthread_cleanup_pop(1);