DZ-Jay wrote: > Can you post some code so that we know how you tried to fix it?
The bug I found is the "Special processing for Quit" below. procedure TCustomPop3Cli.TriggerRequestDone(Error: Word); begin ==> (* { Special processing for Quit (Roger Morton 24-12-99) } if FRequestType = pop3Quit then begin if FWaitingOnQuit then { When the second RqDone arrives (from WSocketSessionClosed), } { treat it as a normal event by setting a zero Error code } Error := 0 else begin { When the first RqDone arrives, set the FWaitingOnQuit flag so } { we're ready to handle a second RqDone. } { Take no other action (in particular, we don't advise the user } { that the first RqDone has happened) } FWaitingOnQuit := True; Exit; end; { Fall down here for all normal RqDone, and after the second RqDone } { following a Quit } FWaitingOnQuit := False; end; ==> *) This code prevents that RequestDone fires in case the server doesn't send a response to the Quit command, and thus the Pop3State is never reset properly. -- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be