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 */