summaryrefslogtreecommitdiff
path: root/src/ipconfig.c
diff options
context:
space:
mode:
authorJukka Rissanen <jukka.rissanen@nokia.com>2011-01-05 15:14:11 +0200
committerMarcel Holtmann <marcel@holtmann.org>2011-01-05 18:51:19 -0800
commit0131fc0fb3928c2c50973d94768ff8bd0a70ac8b (patch)
tree61b593a0bc52b673fda29504b3a042b72be43f83 /src/ipconfig.c
parent9f2bafffc72796f31faf111c2dffb84ab5295bd2 (diff)
downloadconnman-0131fc0fb3928c2c50973d94768ff8bd0a70ac8b.tar.gz
connman-0131fc0fb3928c2c50973d94768ff8bd0a70ac8b.tar.bz2
connman-0131fc0fb3928c2c50973d94768ff8bd0a70ac8b.zip
ipconfig: add debugging to ref counting functions
Diffstat (limited to 'src/ipconfig.c')
-rw-r--r--src/ipconfig.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/ipconfig.c b/src/ipconfig.c
index 690b51e5..b5dc98f0 100644
--- a/src/ipconfig.c
+++ b/src/ipconfig.c
@@ -915,6 +915,9 @@ struct connman_ipconfig *connman_ipconfig_create(int index,
*/
struct connman_ipconfig *connman_ipconfig_ref(struct connman_ipconfig *ipconfig)
{
+ DBG("ipconfig %p refcount %d", ipconfig,
+ g_atomic_int_get(&ipconfig->refcount) + 1);
+
g_atomic_int_inc(&ipconfig->refcount);
return ipconfig;
@@ -928,8 +931,13 @@ struct connman_ipconfig *connman_ipconfig_ref(struct connman_ipconfig *ipconfig)
*/
void connman_ipconfig_unref(struct connman_ipconfig *ipconfig)
{
- if (ipconfig &&
- g_atomic_int_dec_and_test(&ipconfig->refcount) == TRUE) {
+ if (ipconfig == NULL)
+ return;
+
+ DBG("ipconfig %p refcount %d", ipconfig,
+ g_atomic_int_get(&ipconfig->refcount) - 1);
+
+ if (g_atomic_int_dec_and_test(&ipconfig->refcount) == TRUE) {
__connman_ipconfig_disable(ipconfig);
connman_ipconfig_set_ops(ipconfig, NULL);