X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-session.c;h=8c0f77b85ddfd150832f7379c43c5b9961de856a;hb=c8558c8a28966110aa3a356f95d3c60afe32b64a;hp=c63c6c464c740d644206cfaa9f7d8b8e0dac4b26;hpb=66df82496e8b5cf0e49e8fe4ddd57827bbd0e3c5;p=src%2Fapp-framework-binder.git diff --git a/src/afb-session.c b/src/afb-session.c index c63c6c46..8c0f77b8 100644 --- a/src/afb-session.c +++ b/src/afb-session.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015, 2016, 2017 "IoT.bzh" + * Copyright (C) 2015-2018 "IoT.bzh" * Author "Fulup Ar Foll" * Author: José Bollo * @@ -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) {