diff options
author | Peter Wu <peter@lekensteyn.nl> | 2014-11-20 15:55:37 +0100 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2014-11-26 11:56:16 +0000 |
commit | 90994b0d81ca8e44e6a150c53d2c713fad39c29c (patch) | |
tree | 343aa8ec2c9dee4534d44f0868b5606945f8eb27 /src/dummy | |
parent | a91d03a3a9310b5d00e65a249aab2241906733bc (diff) | |
download | upower-90994b0d81ca8e44e6a150c53d2c713fad39c29c.tar.gz |
daemon: release resources at shutdown
This makes it easier to find real memory leaks with valgrind. After
calling the up_backend_unplug functions, you cannot restart it with
up_backend_coldplug since the lists are cleared.
Tested with Linux only (not on *BSD; dummy compiles).
https://bugs.freedesktop.org/show_bug.cgi?id=82659
Diffstat (limited to 'src/dummy')
-rw-r--r-- | src/dummy/up-backend.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/dummy/up-backend.c b/src/dummy/up-backend.c index 342111b..ad81b0b 100644 --- a/src/dummy/up-backend.c +++ b/src/dummy/up-backend.c @@ -129,6 +129,26 @@ up_backend_coldplug (UpBackend *backend, UpDaemon *daemon) } /** + * up_backend_unplug: + * @backend: The %UpBackend class instance + * + * Forget about all learned devices, effectively undoing up_backend_coldplug. + * Resources are released without emitting signals. + */ +void +up_backend_unplug (UpBackend *backend) +{ + if (backend->priv->device_list != NULL) { + g_object_unref (backend->priv->device_list); + backend->priv->device_list = NULL; + } + if (backend->priv->daemon != NULL) { + g_object_unref (backend->priv->daemon); + backend->priv->daemon = NULL; + } +} + +/** * up_backend_get_critical_action: * @backend: The %UpBackend class instance * |