Win32 Port

Tor Lillqvist tml at
Tue May 2 00:45:36 PDT 2006

 > > Just curious - is your isSocket() something like _get_osfhandle()<0 ? Or
 > > did you find a better WinAPI that answers the handle type precisely ?

 > I used the return code of getsockopt(), which is zero for socket file
 > types  and  -1  for non socket type.

But what if the same integer happens to be both a socket and a file
descriptor...? Overlap (i.e. smallish socket numbers) can very well
happen. I once had a test program to check this but can't find it
right now, but IIRC you didn't even have to try very hard to get
overlap (no need to open a stupendous amount of files or sockets).

Having the file/socket separation spelled out in the API is
unfortunately the only reliable way to handle this.


More information about the dbus mailing list