From c34ce875ba10e789ef8e04115b094d101c0bc01a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Sat, 3 Aug 2019 13:44:25 +0200 Subject: [PATCH] Fix Session Quitting on Error --- lib/src/ctrl.c | 2 ++ lib/src/session.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/src/ctrl.c b/lib/src/ctrl.c index 65e6c04..53e2cbf 100644 --- a/lib/src/ctrl.c +++ b/lib/src/ctrl.c @@ -141,6 +141,8 @@ static void *ctrl_thread_func(void *user) ctrl->recv_buf_size += received; } + close(ctrl->sock); + return NULL; } diff --git a/lib/src/session.c b/lib/src/session.c index dc0bd7d..e450acc 100644 --- a/lib/src/session.c +++ b/lib/src/session.c @@ -193,7 +193,7 @@ static void *session_thread_func(void *arg) chiaki_mutex_lock(&session->state_mutex); #define QUIT(quit_label) do { \ - chiaki_mutex_lock(&session->state_mutex); \ + chiaki_mutex_unlock(&session->state_mutex); \ goto quit_label; } while(0) #define CHECK_STOP(quit_label) do { \ @@ -309,6 +309,8 @@ quit_ctrl: ChiakiEvent quit_event; quit: + + CHIAKI_LOGI(&session->log, "Session has quit"); quit_event.type = CHIAKI_EVENT_QUIT; quit_event.quit.reason = session->quit_reason; session_send_event(session, &quit_event);