[gnio/connection-factory] Correctly handle errors on commit in GSocketClient



commit f4d0712cf8bc8225a5c52ceb3679118cbc2e6303
Author: Alexander Larsson <alexl redhat com>
Date:   Mon May 11 11:00:18 2009 +0200

    Correctly handle errors on commit in GSocketClient
    
    On error we return G_IO_ERR, not G_IO_IN, so we need to handle this.
---
 gio/gsocketclient.c |   18 ++----------------
 1 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/gio/gsocketclient.c b/gio/gsocketclient.c
index a0e6f08..5c0a94c 100644
--- a/gio/gsocketclient.c
+++ b/gio/gsocketclient.c
@@ -391,9 +391,9 @@ g_socket_client_socket_callback (GSocket *socket,
       g_cancellable_set_error_if_cancelled (data->cancellable,
 					    &data->last_error);
     }
-  else if (condition & G_IO_OUT)
+  else
     {
-      /* socket is ready for writing = connect done, did it succeed? */
+      /* socket is ready for writing means connect done, did it succeed? */
       if (!g_socket_check_pending_error (data->current_socket, &error))
 	{
 	  set_last_error (data, error);
@@ -407,20 +407,6 @@ g_socket_client_socket_callback (GSocket *socket,
 	  return FALSE;
 	}
     }
-  else
-    {
-      /* G_IO_ERR maybe?, can this happen? */
-      g_object_unref (data->current_socket);
-      data->current_socket = NULL;
-      g_set_error (&data->last_error, G_IO_ERROR, G_IO_ERROR_FAILED,
-		   _("Unknown error on connect"));
-
-      /* try next one */
-      g_socket_address_enumerator_next_async (data->enumerator,
-        data->cancellable, g_socket_client_enumerator_callback, data);
-
-      return FALSE;
-    }
 
   g_socket_client_async_connect_complete (data);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]