Eric Heimburg
-
2006-06-20
- priority: 5 --> 8
Due to a mistake in SocketSet.h (part of SocketLib),
the BetterMUD will not actually accept connections on
listening sockets.
The comments in SocketSet.h point out that select()
under linux requires the largest descriptor ID +1.
However, it then proceeds to pass in the largest
descriptor ID *without adding 1 to it*.
To fix, find this line:
return select( *(m_socketdescs.rbegin
()), &m_activityset, 0, 0, &t );
and add a +1 to the first parameter:
return select( (*(m_socketdescs.rbegin
()))+1, &m_activityset, 0, 0, &t );
This will make your mud actually performing
networking under Linux.