diff --git a/gio/gsocket.c b/gio/gsocket.c index 5d8ecfb9c..e71315d17 100644 --- a/gio/gsocket.c +++ b/gio/gsocket.c @@ -3790,6 +3790,9 @@ update_select_events (GSocket *socket) GList *l; WSAEVENT event; + if (socket->priv->closed) + return; + ensure_event (socket); event_mask = 0; @@ -3848,7 +3851,8 @@ update_condition_unlocked (GSocket *socket) WSANETWORKEVENTS events; GIOCondition condition; - if (WSAEnumNetworkEvents (socket->priv->fd, + if (!socket->priv->closed && + WSAEnumNetworkEvents (socket->priv->fd, socket->priv->event, &events) == 0) {