summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Lima (Etrunko) <eduardo.lima@intel.com>2013-05-23 16:36:29 -0300
committerEduardo Lima (Etrunko) <eduardo.lima@intel.com>2013-05-23 17:15:15 -0300
commiteca8b6bb7c0dcbb901b6bc146a85a6fe70709207 (patch)
tree01d7306402b356114bae208c88e4c9c78c7c4318
parent3c9856f9e0095139ebd7dbdd860025a8dfb2a705 (diff)
downloadefl-eca8b6bb7c0dcbb901b6bc146a85a6fe70709207.tar.gz
eldbus: New internal function _eldbus_connection_free()
This is actually a split on the _eldbus_connection_unref() function, that will be called either when the refcount reaches 0 or to force the deletion of an Eldus_Connection. The second use case will be contemplated in a following patch. Signed-off-by: Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
-rw-r--r--src/lib/eldbus/eldbus_core.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/lib/eldbus/eldbus_core.c b/src/lib/eldbus/eldbus_core.c
index c2b3b57b8f..4f7d9c6bcb 100644
--- a/src/lib/eldbus/eldbus_core.c
+++ b/src/lib/eldbus/eldbus_core.c
@@ -1017,7 +1017,7 @@ eldbus_connection_ref(Eldbus_Connection *conn)
}
static void
-_eldbus_connection_unref(Eldbus_Connection *conn)
+_eldbus_connection_free(Eldbus_Connection *conn)
{
unsigned int i;
Eldbus_Handler_Data *fd_handler;
@@ -1030,11 +1030,6 @@ _eldbus_connection_unref(Eldbus_Connection *conn)
Eina_Array *cns;
const char *name;
- DBG("Connection %p: unref (currently at %d refs)",
- conn, conn->refcount);
-
- if (--conn->refcount > 0) return;
-
DBG("Freeing connection %p", conn);
_eldbus_connection_event_callback_call
@@ -1131,6 +1126,16 @@ _eldbus_connection_unref(Eldbus_Connection *conn)
free(conn);
}
+static void
+_eldbus_connection_unref(Eldbus_Connection *conn)
+{
+ DBG("Connection %p: unref (currently at %d refs)",
+ conn, conn->refcount);
+
+ if (--conn->refcount > 0) return;
+ _eldbus_connection_free(conn);
+}
+
EAPI void
eldbus_connection_unref(Eldbus_Connection *conn)
{