From 79a7e46bfd2c26ab29d7f59b29a4de80e39635aa Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Wed, 9 Apr 2014 12:31:08 -0500 Subject: [PATCH] core: unregister removed devices from D-Bus Instead of waiting until the device is disposed and dbus-glib does it for us, remove them when the Manager is done with them. If something (like pending D-Bus calls) holds a reference to the device when the Manager removes it, the device would previously still service method calls until all references are released. When the device is removed, it's dead, and it shouldn't be exported anymore. --- src/nm-manager.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/nm-manager.c b/src/nm-manager.c index ea0663f5b..d3d660cd7 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -769,6 +769,8 @@ remove_device (NMManager *manager, NMDevice *device, gboolean quitting) g_signal_emit (manager, signals[DEVICE_REMOVED], 0, device); g_object_notify (G_OBJECT (manager), NM_MANAGER_DEVICES); + + nm_dbus_manager_unregister_object (priv->dbus_mgr, device); g_object_unref (device); if (priv->startup)