char strsave[MAX_INPUT_LENGTH];
unlink(strsave);
That's an ... interesting thing to do.
unlink is the system call to delete a file. Are you putting anything into the
strsave buffer? Either way, it shouldn't have any effect on the connection.
It sounds like you have a client that's making a bunch of connections to the
server for some reason (broken auto-reconnect feature?). I really think that
if there was some big problem with ROM and windows clients, most of us would
have noticed it by now.
Maybe if you tell us more about this "partial connection" phenomenon, we could
figure it out. Are there descriptor_data objects allocated? Is it leaking
descriptors? Does closing the client end these connections? Does your game
set so_keepalive on connections?
--Palrich.