diff options
Diffstat (limited to 'libsoup/server/soup-server-connection.c')
-rw-r--r-- | libsoup/server/soup-server-connection.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libsoup/server/soup-server-connection.c b/libsoup/server/soup-server-connection.c index 380ac42b..07a8fb5f 100644 --- a/libsoup/server/soup-server-connection.c +++ b/libsoup/server/soup-server-connection.c @@ -108,10 +108,12 @@ soup_server_connection_finalize (GObject *object) SoupServerConnection *conn = SOUP_SERVER_CONNECTION (object); SoupServerConnectionPrivate *priv = soup_server_connection_get_instance_private (conn); - if (priv->conn) + if (priv->conn) { disconnect_internal (conn); - - g_clear_pointer (&priv->io_data, soup_server_message_io_destroy); + } else { + g_clear_object (&priv->socket); + g_clear_pointer (&priv->io_data, soup_server_message_io_destroy); + } g_clear_object (&priv->iostream); |