From: Daniel Wagner <[email protected]>

---
 src/service.c |   16 +++++++---------
 1 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/service.c b/src/service.c
index 7cd0294..a7fdcd3 100644
--- a/src/service.c
+++ b/src/service.c
@@ -1608,23 +1608,21 @@ GSequence *__connman_service_get_list(struct 
connman_session *session,
 
 void __connman_service_session_inc(struct connman_service *service)
 {
-       DBG("service %p", service);
+       DBG("service %p ref count %d", service,
+               g_atomic_int_get(&service->session_usage_count) + 1);
 
        g_atomic_int_inc(&service->session_usage_count);
 }
 
 connman_bool_t __connman_service_session_dec(struct connman_service *service)
 {
-       connman_bool_t in_use;
-
-       if (g_atomic_int_dec_and_test(&service->session_usage_count) == TRUE)
-               in_use = FALSE;
-       else
-               in_use = TRUE;
+       DBG("service %p ref count %d", service,
+               g_atomic_int_get(&service->session_usage_count) - 1);
 
-       DBG("service %p last %d", service, in_use);
+       if (g_atomic_int_dec_and_test(&service->session_usage_count) == FALSE)
+               return FALSE;
 
-       return in_use;
+       return TRUE;
 }
 
 static void append_properties(DBusMessageIter *dict, dbus_bool_t limited,
-- 
1.7.6

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to