Solved: bug in tcp/ip on windows

Filip Konvička filip.konvicka.removethisantispamtoken at logis.cz
Thu Nov 24 09:56:49 CET 2005


Hi,

seems like I found the solution. The problem is that registerSocket() in 
platform/emulator/os.cc is not always working. One solution is to 
#define FD_SETSIZE 1024 in wsock.hh before winsock.h is includes (the 
default value is 64, which is too small when you consider the way fd_set 
is used in os.cc). 1024 is Linux default, so I think it's ok this way. 
The code snippet that I posted earlier does work without problems after 
this change.

However, I still think that using the FD_XXX macros is a bad solution to 
this trivial problem. I tried to change the implementation to use 
std::set instead (I know that this might not be the most efficient 
solution, but it's not that bad). The problem is that I'd have to change 
linker settings to link C++ stdlib instead of C, which I am not sure is 
what I want...

Cheers,
Filip




More information about the mozart-hackers mailing list