[glib/mcatanzaro/gdbus-dir-addresses] gdbus: Stop server on dispose
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/mcatanzaro/gdbus-dir-addresses] gdbus: Stop server on dispose
- Date: Wed, 12 Jun 2019 21:13:32 +0000 (UTC)
commit 3e4eb8bcf8b79402590fa3d9e5e91f224c102ad7
Author: Michael Catanzaro <mcatanzaro igalia com>
Date: Wed Jun 12 13:29:52 2019 -0500
gdbus: Stop server on dispose
This is not going to have much any effect currently since stop() just
disconnects a signal handler (that is going to be disconnected in
finalize anyway) and stops the socket service (that is going to be
destroyed in finalize), but it makes sense to do here for robustness.
gio/gdbusserver.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
---
diff --git a/gio/gdbusserver.c b/gio/gdbusserver.c
index d4f46daa2..e708e079e 100644
--- a/gio/gdbusserver.c
+++ b/gio/gdbusserver.c
@@ -156,6 +156,17 @@ static void initable_iface_init (GInitableIface *initable_iface);
G_DEFINE_TYPE_WITH_CODE (GDBusServer, g_dbus_server, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, initable_iface_init))
+static void
+g_dbus_server_dispose (GObject *object)
+{
+ GDBusServer *server = G_DBUS_SERVER (object);
+
+ if (server->active)
+ g_dbus_server_stop (server);
+
+ G_OBJECT_CLASS (g_dbus_server_parent_class)->dispose (object);
+}
+
static void
g_dbus_server_finalize (GObject *object)
{
@@ -265,6 +276,7 @@ g_dbus_server_class_init (GDBusServerClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ gobject_class->dispose = g_dbus_server_dispose;
gobject_class->finalize = g_dbus_server_finalize;
gobject_class->set_property = g_dbus_server_set_property;
gobject_class->get_property = g_dbus_server_get_property;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]