THRIFT-2460 unopened socket fd must be less than zero.
authorJens Geyer <jensg@apache.org>
Tue, 15 Apr 2014 19:14:04 +0000 (21:14 +0200)
committerJens Geyer <jensg@apache.org>
Tue, 15 Apr 2014 19:14:04 +0000 (21:14 +0200)
Client: C glib
Patch: Jaesang Kim

lib/c_glib/src/thrift/c_glib/transport/thrift_server_socket.c
lib/c_glib/src/thrift/c_glib/transport/thrift_socket.c
lib/c_glib/src/thrift/c_glib/transport/thrift_transport.h

index 6ab7fde..5d1f452 100644 (file)
@@ -103,7 +103,7 @@ thrift_server_socket_listen (ThriftServerTransport *transport, GError **error)
 ThriftTransport *
 thrift_server_socket_accept (ThriftServerTransport *transport, GError **error)
 {
-  int sd = 0;
+  int sd = THRIFT_INVALID_SOCKET;
   guint addrlen = 0;
   struct sockaddr_in address;
   ThriftSocket *socket = NULL;
@@ -137,7 +137,7 @@ thrift_server_socket_close (ThriftServerTransport *transport, GError **error)
                  "unable to close socket - %s", strerror(errno));
     return FALSE;
   }
-  tsocket->sd = 0;
+  tsocket->sd = THRIFT_INVALID_SOCKET;
 
   return TRUE;
 }
@@ -153,7 +153,7 @@ thrift_server_socket_error_quark (void)
 static void
 thrift_server_socket_init (ThriftServerSocket *socket)
 {
-  socket->sd = 0;
+  socket->sd = THRIFT_INVALID_SOCKET;
 }
 
 /* destructor */
@@ -162,11 +162,11 @@ thrift_server_socket_finalize (GObject *object)
 {
   ThriftServerSocket *socket = THRIFT_SERVER_SOCKET (object);
 
-  if (socket->sd != 0)
+  if (socket->sd != THRIFT_INVALID_SOCKET)
   {
     close (socket->sd);
   }
-  socket->sd = 0;
+  socket->sd = THRIFT_INVALID_SOCKET;
 }
 
 /* property accessor */
index 68eb21c..1313577 100644 (file)
@@ -47,7 +47,7 @@ gboolean
 thrift_socket_is_open (ThriftTransport *transport)
 {
   ThriftSocket *socket = THRIFT_SOCKET (transport);
-  return socket->sd != 0;
+  return socket->sd != THRIFT_INVALID_SOCKET;
 }
 
 /* implements thrift_transport_open */
@@ -63,7 +63,7 @@ thrift_socket_open (ThriftTransport *transport, GError **error)
 #endif
 
   ThriftSocket *tsocket = THRIFT_SOCKET (transport);
-  g_return_val_if_fail (tsocket->sd == 0, FALSE);
+  g_return_val_if_fail (tsocket->sd == THRIFT_INVALID_SOCKET, FALSE);
 
   /* lookup the destination host */
 #if defined(HAVE_GETHOSTBYNAME_R)
@@ -122,7 +122,7 @@ thrift_socket_close (ThriftTransport *transport, GError **error)
     return FALSE;
   }
 
-  socket->sd = 0;
+  socket->sd = THRIFT_INVALID_SOCKET;
   return TRUE;
 }
 
@@ -172,7 +172,7 @@ thrift_socket_write (ThriftTransport *transport, const gpointer buf,
   guint sent = 0;
 
   ThriftSocket *socket = THRIFT_SOCKET (transport);
-  g_return_val_if_fail (socket->sd != 0, FALSE);
+  g_return_val_if_fail (socket->sd != THRIFT_INVALID_SOCKET, FALSE);
 
   while (sent < len)
   {
@@ -216,7 +216,7 @@ thrift_socket_flush (ThriftTransport *transport, GError **error)
 static void
 thrift_socket_init (ThriftSocket *socket)
 {
-  socket->sd = 0;
+  socket->sd = THRIFT_INVALID_SOCKET;
 }
 
 /* destructor */
@@ -231,11 +231,11 @@ thrift_socket_finalize (GObject *object)
   }
   socket->hostname = NULL;
 
-  if (socket->sd != 0)
+  if (socket->sd != THRIFT_INVALID_SOCKET)
   {
     close (socket->sd);
   }
-  socket->sd = 0;
+  socket->sd = THRIFT_INVALID_SOCKET;
 }
 
 /* property accessor */
index 20f6cd4..65b5763 100644 (file)
@@ -147,6 +147,9 @@ typedef enum
 GQuark thrift_transport_error_quark (void);
 #define THRIFT_TRANSPORT_ERROR (thrift_transport_error_quark ())
 
+/* define macro for invalid socket */
+#define THRIFT_INVALID_SOCKET (-1)
+
 G_END_DECLS
 
 #endif /* _THRIFT_TRANSPORT_H */