afb-session: Fix bugs
authorJosé Bollo <jose.bollo@iot.bzh>
Mon, 26 Feb 2018 13:35:00 +0000 (14:35 +0100)
committerJosé Bollo <jose.bollo@iot.bzh>
Mon, 26 Feb 2018 13:40:37 +0000 (14:40 +0100)
Change-Id: Ib45e2db47827b4527435a40c4b79d02fb3ab488a
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/afb-session.c

index c63c6c4..1e3f508 100644 (file)
@@ -475,6 +475,7 @@ struct afb_session *afb_session_addref(struct afb_session *session)
 {
        if (session != NULL) {
                afb_hook_session_addref(session);
+               session_lock(session);
                session->refcount++;
                session_unlock(session);
        }
@@ -487,9 +488,9 @@ void afb_session_unref(struct afb_session *session)
        if (session == NULL)
                return;
 
-       session_lock(session);
        afb_hook_session_unref(session);
-       if (--session->refcount) {
+       session_lock(session);
+       if (!--session->refcount) {
                if (session->autoclose)
                        session_close(session);
                if (session->notinset) {