Getting colder with our second freeze... it's 3.31.91 release day and string freeze, upload a tarball and lock those strings 🏂

Commit f1095de4 authored by Philip Withnall's avatar Philip Withnall

gsocketlistener: Don’t explicitly close sockets on finalisation

Instead of closing the sockets explicitly, let them close themselves
when their final reference is dropped. This makes use of
g_socket_listener_add_socket() more natural.

https://bugzilla.gnome.org/show_bug.cgi?id=732107
parent 00e73331
......@@ -82,9 +82,11 @@ g_socket_listener_finalize (GObject *object)
if (listener->priv->main_context)
g_main_context_unref (listener->priv->main_context);
if (!listener->priv->closed)
g_socket_listener_close (listener);
/* Do not explicitly close the sockets. Instead, let them close themselves if
* their final reference is dropped, but keep them open if a reference is
* held externally to the GSocketListener (which is possible if
* g_socket_listener_add_socket() was used).
*/
g_ptr_array_free (listener->priv->sockets, TRUE);
G_OBJECT_CLASS (g_socket_listener_parent_class)
......@@ -206,6 +208,11 @@ check_listener (GSocketListener *listener,
* useful if you're listening on multiple addresses and do
* different things depending on what address is connected to.
*
* The @socket will not be automatically closed when the @listener is finalized
* unless the listener held the final reference to the socket. Before GLib 2.42,
* the @socket was automatically closed on finalization of the @listener, even
* if references to it were held elsewhere.
*
* Returns: %TRUE on success, %FALSE on error.
*
* Since: 2.22
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment