diff --git a/gio/gsocket.c b/gio/gsocket.c index 826938a54..6bf1a809f 100644 --- a/gio/gsocket.c +++ b/gio/gsocket.c @@ -614,6 +614,12 @@ g_socket_finalize (GObject *object) g_socket_close (socket, NULL); #ifdef G_OS_WIN32 + if (socket->priv->event != WSA_INVALID_EVENT) + { + WSACloseEvent (socket->priv->event); + socket->priv->event = WSA_INVALID_EVENT; + } + g_assert (socket->priv->requested_conditions == NULL); #endif @@ -2002,14 +2008,6 @@ g_socket_close (GSocket *socket, break; } -#ifdef G_OS_WIN32 - if (socket->priv->event != WSA_INVALID_EVENT) - { - WSACloseEvent (socket->priv->event); - socket->priv->event = WSA_INVALID_EVENT; - } -#endif - socket->priv->connected = FALSE; socket->priv->closed = TRUE;