return FALSE;
}
+ return TRUE;
+}
+
+static gboolean
+check_timeout (GSocket *socket,
+ GError **error)
+{
if (socket->priv->timed_out)
{
socket->priv->timed_out = FALSE;
if (!check_socket (socket, error))
return NULL;
+ if (!check_timeout (socket, error))
+ return NULL;
+
while (TRUE)
{
if (socket->priv->blocking &&
if (!check_socket (socket, error))
return FALSE;
+ if (!check_timeout (socket, error))
+ return FALSE;
+
if (!g_socket_get_option (socket, SOL_SOCKET, SO_ERROR, &value, error))
{
g_prefix_error (error, _("Unable to get pending error: "));
if (!check_socket (socket, error))
return -1;
+ if (!check_timeout (socket, error))
+ return -1;
+
if (g_cancellable_set_error_if_cancelled (cancellable, error))
return -1;
if (!check_socket (socket, error))
return -1;
+ if (!check_timeout (socket, error))
+ return -1;
+
if (g_cancellable_set_error_if_cancelled (cancellable, error))
return -1;
if (!check_socket (socket, error))
return -1;
+ if (!check_timeout (socket, error))
+ return -1;
+
if (g_cancellable_set_error_if_cancelled (cancellable, error))
return -1;
if (!check_socket (socket, error))
return -1;
+ if (!check_timeout (socket, error))
+ return -1;
+
if (g_cancellable_set_error_if_cancelled (cancellable, error))
return -1;