From afff776f7e27c8be7610cfbd23c4d1be32699ed9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Bollo?= Date: Mon, 26 Feb 2018 14:32:44 +0100 Subject: [PATCH] afb-stub-ws: cosmetic improvements MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change-Id: Ib6adf0ca4bdfee9d3da07055430bfe1974ac28bc Signed-off-by: José Bollo --- src/afb-stub-ws.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/afb-stub-ws.c b/src/afb-stub-ws.c index 37607ee0..136bb358 100644 --- a/src/afb-stub-ws.c +++ b/src/afb-stub-ws.c @@ -498,14 +498,17 @@ static void record_session(struct afb_stub_ws *stubws, struct afb_session *sessi } } -static void release_sessions(struct afb_stub_ws *stubws) +static void release_all_sessions(struct afb_stub_ws *stubws) { - struct server_session *s; + struct server_session *s, *n; - while((s = stubws->sessions)) { - stubws->sessions = s->next; + s = stubws->sessions; + stubws->sessions = NULL; + while(s) { + n = s->next; afb_session_unref(s->session); free(s); + s = n; } } @@ -654,7 +657,7 @@ static void on_hangup(void *closure) if (stubws->on_hangup) stubws->on_hangup(stubws); - release_sessions(stubws); + release_all_sessions(stubws); afb_stub_ws_unref(stubws); } @@ -712,7 +715,7 @@ void afb_stub_ws_unref(struct afb_stub_ws *stubws) drop_all_events(stubws); if (stubws->listener) afb_evt_listener_unref(stubws->listener); - release_sessions(stubws); + release_all_sessions(stubws); afb_proto_ws_unref(stubws->proto); afb_cred_unref(stubws->cred); afb_apiset_unref(stubws->apiset); -- 2.16.6