diff options
author | Dan Williams <dcbw@redhat.com> | 2014-04-09 12:31:08 -0500 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2014-04-09 12:33:26 -0500 |
commit | 79a7e46bfd2c26ab29d7f59b29a4de80e39635aa (patch) | |
tree | 4f0774e65af67fcf2582e7e650b4e8700d1469a0 | |
parent | 88fcf17ce05ba67073ebdd3d3816f3ee3da9e6b3 (diff) | |
download | NetworkManager-79a7e46bfd2c26ab29d7f59b29a4de80e39635aa.tar.gz |
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.
-rw-r--r-- | src/nm-manager.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nm-manager.c b/src/nm-manager.c index ea0663f5be..d3d660cd70 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) |