THRIFT-2460 unopened socket fd must be less than zero.
Client: C glib
Patch: Jaesang Kim
diff --git a/lib/c_glib/src/thrift/c_glib/transport/thrift_server_socket.c b/lib/c_glib/src/thrift/c_glib/transport/thrift_server_socket.c
index 6ab7fde..5d1f452 100644
--- a/lib/c_glib/src/thrift/c_glib/transport/thrift_server_socket.c
+++ b/lib/c_glib/src/thrift/c_glib/transport/thrift_server_socket.c
@@ -103,7 +103,7 @@
 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 @@
                  "unable to close socket - %s", strerror(errno));
     return FALSE;
   }
-  tsocket->sd = 0;
+  tsocket->sd = THRIFT_INVALID_SOCKET;
 
   return TRUE;
 }
@@ -153,7 +153,7 @@
 static void
 thrift_server_socket_init (ThriftServerSocket *socket)
 {
-  socket->sd = 0;
+  socket->sd = THRIFT_INVALID_SOCKET;
 }
 
 /* destructor */
@@ -162,11 +162,11 @@
 {
   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 */
diff --git a/lib/c_glib/src/thrift/c_glib/transport/thrift_socket.c b/lib/c_glib/src/thrift/c_glib/transport/thrift_socket.c
index 68eb21c..1313577 100644
--- a/lib/c_glib/src/thrift/c_glib/transport/thrift_socket.c
+++ b/lib/c_glib/src/thrift/c_glib/transport/thrift_socket.c
@@ -47,7 +47,7 @@
 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 @@
 #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 @@
     return FALSE;
   }
 
-  socket->sd = 0;
+  socket->sd = THRIFT_INVALID_SOCKET;
   return TRUE;
 }
 
@@ -172,7 +172,7 @@
   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 @@
 static void
 thrift_socket_init (ThriftSocket *socket)
 {
-  socket->sd = 0;
+  socket->sd = THRIFT_INVALID_SOCKET;
 }
 
 /* destructor */
@@ -231,11 +231,11 @@
   }
   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 */
diff --git a/lib/c_glib/src/thrift/c_glib/transport/thrift_transport.h b/lib/c_glib/src/thrift/c_glib/transport/thrift_transport.h
index 20f6cd4..65b5763 100644
--- a/lib/c_glib/src/thrift/c_glib/transport/thrift_transport.h
+++ b/lib/c_glib/src/thrift/c_glib/transport/thrift_transport.h
@@ -147,6 +147,9 @@
 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 */