* Following code snippet at least closes the stream to avoid any
* descriptors leak.
* */
- GIOStream *stream = g_dbus_connection_get_stream (
- self->priv->connection);
- if (stream) g_io_stream_close (stream, NULL, NULL);
+ //GIOStream *stream = g_dbus_connection_get_stream (
+ // self->priv->connection);
+ //if (stream) g_io_stream_close (stream, NULL, NULL);
g_object_unref (self->priv->connection);
self->priv->connection = NULL;
}
GumdDbusUserServiceAdapter *user_service;
GumdDbusGroupServiceAdapter *group_service;
guint name_owner_id;
+ GDBusConnection *connection;
};
#define GUMD_DBUS_SERVER_MSG_BUS_GET_PRIV(obj) G_TYPE_INSTANCE_GET_PRIVATE ( \
GumdDbusServerMsgBus *server = GUMD_DBUS_SERVER_MSG_BUS (user_data);
DBG("Export user service interface");
+
+ server->priv->connection = connection;
+ g_object_ref(server->priv->connection);
+
server->priv->user_service =
gumd_dbus_user_service_adapter_new_with_connection (
connection,
server->priv->user_service = NULL;
}
+ if (server->priv->connection) {
+ GIOStream *stream = g_dbus_connection_get_stream (server->priv->connection);
+ if (stream) {
+ DBG("g_io_stream_close '%p'", stream);
+ g_io_stream_close (stream, NULL, NULL);
+ }
+ g_object_unref (server->priv->connection);
+ server->priv->connection = NULL;
+ }
+
if (server->priv->name_owner_id) {
g_bus_unown_name (server->priv->name_owner_id);
server->priv->name_owner_id = 0;
* Following code snippet at least closes the stream to avoid any
* descriptors leak.
* */
- GIOStream *stream = g_dbus_connection_get_stream (
- self->priv->connection);
- if (stream) g_io_stream_close (stream, NULL, NULL);
+ //GIOStream *stream = g_dbus_connection_get_stream (
+ // self->priv->connection);
+ //i (stream) g_io_stream_close (stream, NULL, NULL);
g_object_unref (self->priv->connection);
self->priv->connection = NULL;
}