On Sunday 18 January 2004 23:33, Tuomas Jaakola wrote: > Hey ya! > > Sometimes I had this kind of warning in my network log: > > 20:54:52: [WRN] Socket 21 does not exist (#4294967295). > > After that some direct connections did not work. > The cause for the bug was that INetSocket::m_szOwnerId and > INetSocket::m_nOwnerPPID were both 0 and when closing the > socket it remained in the user's object. > > Maybe this case is under development because I found from file > include/licq_socket.h method INetSocket::SetOwner(const char *s, > unsigned long n) which was not implemented anywhere. In > CICQDaemon::Handshake_Recv() socket's method SetOwner() is called > but it doesn't set these m_szOwnerId and m_nOwnerPPID values. > > So in the attached patch I implemented this missing function > and it's called in Handshake_Recv() function. It will set > those m_szOwnerId and m_nOwnerPPID values. When time to close the > socket and destroy all references to it comes, it will happen > properly and we are not going to try to use it anymore.
Thanks Tuomas, your patch is in CVS now. Thomas -- Just because the message may never be received does not mean it is not worth sending.
pgp00000.pgp
Description: signature