On Fri, 24 Jul 1998 13:06:06 -0700 Maloney johnm@wdi.disney.com = wrote:=3D20
From your discription, it sounds as though the server that Squeak is talking to is not closing the connection properly. I don't know of any bug in the Mac socket implementation that would cause this to happen. (There was a recent bug related to socket closing in the Win32 implementation, but it had different symptoms from those you describe.)
Part of what I am wondering about is the following code from = sqMacNetwork.c:
void TCPSockCloseConnection(TCPSockPtr s) { /* Note: This operation uses a dedicated parameter block so that it can be invoked even in the previous send is not yet complete. It will eventually use a completion routine to delete the socket automatically. For now, this is the client's responsibility. */ if ((s =3D3D=3D3D nil) || (s->tcpStream =3D3D=3D3D nil)) return; /* = socket destroyed */
InitTCPCmd(TCPClose, s->tcpStream, &s->closePB); // s->closePB.ioCompletion =3D3D tcpCloseDoneProc; s->connectStatus =3D3D ThisEndClosed; // xxx remove when making this = async s->lastError =3D3D PBControlSync((ParmBlkPtr) &s->closePB); }
are those //'s some sort of comment? Does this accurately reflect the = 2.1 vm?
What is the server? Is it implemented in Squeak?
Whatever my ISP uses as a POP server. This is what appears when I = connect: +OK QPOP (version 2.5) at fellspt.charm.net starting. =3D20
It could be merely that you need a longer timeout in the call to waitForDisconnectionUntil:.
I just raised the timeout to 60 seconds and it took 60 seconds to close = the connection (abort it actually).
Cheers, Bob
squeak-dev@lists.squeakfoundation.org