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;
                  "unable to close socket - %s", strerror(errno));
     return FALSE;
   }
-  tsocket->sd = 0;
+  tsocket->sd = THRIFT_INVALID_SOCKET;
 
   return TRUE;
 }
 static void
 thrift_server_socket_init (ThriftServerSocket *socket)
 {
-  socket->sd = 0;
+  socket->sd = THRIFT_INVALID_SOCKET;
 }
 
 /* destructor */
 {
   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 */
 
 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 */
 #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)
     return FALSE;
   }
 
-  socket->sd = 0;
+  socket->sd = THRIFT_INVALID_SOCKET;
   return TRUE;
 }
 
   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)
   {
 static void
 thrift_socket_init (ThriftSocket *socket)
 {
-  socket->sd = 0;
+  socket->sd = THRIFT_INVALID_SOCKET;
 }
 
 /* destructor */
   }
   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 */
 
 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 */