From: <x51...@fe...> - 2001-03-14 18:08:00
|
Ulrich Eckhardt wrote: > The client can now disconnect without crashing the server. > > The solution is not beautiful at all, though. When the client sends a > logout-msg, the server sends an acknowledgement and continues as normal= . When > the client disconnects, the connection breaks and is discarded.(note: t= he > client could as well go on and start a new session with a login-msg) > > The segfault was because the Socket was closed but still registered in = the > SocketSet. The next access by the SocketSet triggered the segfault. In = other > words, the SocketSet depends on the internal state of another object, b= ad > design. Well, as it was done, it was stable, I told you that perhaps the socket design was awful but as it use is confined to a very limited part of the program, it didn't matter. > I know we had a discussion some months back that revolved around this d= esign > decision. I don=B4t exactly remember the results but I wonder if they s= till > hold true ? If so, I will make the Socket deregister itself from the > SocketSet it is in, else I will take the other approach and make every = Socket > a completely distinct entity and incorporate the SocketSet=B4s function= s there. Well, I make a good idea. Although is it really needed? |