diff options
author | Daniel Stone <daniel@fooishbar.org> | 2006-10-15 20:42:31 +0300 |
---|---|---|
committer | Daniel Stone <daniels@endtroducing.fooishbar.org> | 2006-10-15 20:42:31 +0300 |
commit | acd8419948003032056a56d46adbef7c35e7739c (patch) | |
tree | 0f3a5e8defd166f4208ef2950f27fd6a8eeecba1 /config | |
parent | fc9b5f84b244ea08480b73bd15ac919b875800fb (diff) |
config: unref connection, don't close it
Just unref the connection instead of explicitly closing it (thanks, Rob
McQueen).
Add a commented-out unregister_object_path call: unfortunately, when we
call it, libdbus segfaults. But if we don't unregister the path, we
can't register it again. So regenerations are broken either way, but a
little less violently like this.
Diffstat (limited to 'config')
-rw-r--r-- | config/config.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/config/config.c b/config/config.c index e3c33aaa1..a50302f2f 100644 --- a/config/config.c +++ b/config/config.c @@ -319,9 +319,13 @@ configFini() if (configConnection) { dbus_error_init(&error); + /* This causes a segfault inside libdbus. Sigh. */ +#if 0 + dbus_connection_unregister_object_path(configConnection, busobject); +#endif dbus_bus_remove_match(configConnection, MATCH_RULE, &error); dbus_bus_release_name(configConnection, busname, &error); - dbus_connection_close(configConnection); + dbus_connection_unref(configConnection); RemoveGeneralSocket(configfd); configConnection = NULL; configfd = -1; |