Ben Craig created THRIFT-1690:
---------------------------------

             Summary: Sockets and Pipe Handles truncated on Win64
                 Key: THRIFT-1690
                 URL: https://issues.apache.org/jira/browse/THRIFT-1690
             Project: Thrift
          Issue Type: Bug
          Components: C++ - Library
    Affects Versions: 0.9
         Environment: 64-bit Windows
            Reporter: Ben Craig


On 64-bit Windows, "int" is a 32-bit value.  SOCKET and HANDLE are 64-bit.

All of the files dealing with sockets in thrift use "int" as the type of a 
socket, as this is the idiomatic way to handle sockets on POSIX systems.  For 
portability, a SOCKET typedef is probably needed.

For the Pipe Server and Pipe Transport, HANDLEs are cast to ints to store as 
member variables for some reason (maybe to avoid #including <windows.h> in a 
header?).

Both of these situations can result in invalid handles being used (and valid 
handles being leaked) when the system is under load.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to