All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Zaborowski <andrew.zaborowski@intel.com>
To: ell@lists.01.org
Subject: [PATCH 1/8] dbus: More complete checks when removing nodes.
Date: Fri, 05 Feb 2016 03:58:27 +0100	[thread overview]
Message-ID: <1454641114-3421-1-git-send-email-andrew.zaborowski@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 995 bytes --]

This addresses two problems with nodes being freed from the object tree
but not from tree->objects.
---
 ell/dbus-service.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/ell/dbus-service.c b/ell/dbus-service.c
index e082226..639872b 100644
--- a/ell/dbus-service.c
+++ b/ell/dbus-service.c
@@ -660,6 +660,9 @@ void _dbus_object_tree_prune_node(struct object_node *node)
 		if (parent->children != NULL)
 			return;
 
+		if (parent->instances)
+			return;
+
 		node = parent;
 		parent = node->parent;
 	}
@@ -741,9 +744,11 @@ bool _dbus_object_tree_unregister(struct _dbus_object_tree *tree,
 	if (instance)
 		interface_instance_free(instance);
 
-	if (l_queue_isempty(node->instances) && !node->children) {
+	if (l_queue_isempty(node->instances)) {
 		l_hashmap_remove(tree->objects, path);
-		_dbus_object_tree_prune_node(node);
+
+		if (!node->children)
+			_dbus_object_tree_prune_node(node);
 	}
 
 	return r;
-- 
2.5.0


             reply	other threads:[~2016-02-05  2:58 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-05  2:58 Andrew Zaborowski [this message]
2016-02-05  2:58 ` [PATCH 2/8] dbus: setters and getters API for properties Andrew Zaborowski
2016-02-05  2:58 ` [PATCH 3/8] dbus: Separate interface registration from instantiation Andrew Zaborowski
2016-02-05  2:58 ` [PATCH 4/8] dbus: Message builder function to copy from an iter Andrew Zaborowski
2016-02-05  2:58 ` [PATCH 5/8] dbus: Private function to retrieve the tree for a connection Andrew Zaborowski
2016-02-05  2:58 ` [PATCH 6/8] dbus: Handle legacy GetProperties and SetProperty automatically Andrew Zaborowski
2016-02-05  2:58 ` [PATCH 7/8] dbus: Implement org.freedesktop.DBus.Properties Andrew Zaborowski
2016-02-05  2:58 ` [PATCH 8/8] dbus: Implement org.freedesktop.DBus.ObjectManager Andrew Zaborowski
2016-02-08 15:42 ` [PATCH 1/8] dbus: More complete checks when removing nodes Denis Kenzior
  -- strict thread matches above, loose matches on Subject: below --
2016-02-01 14:07 Andrew Zaborowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1454641114-3421-1-git-send-email-andrew.zaborowski@intel.com \
    --to=andrew.zaborowski@intel.com \
    --cc=ell@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.