What does SetTimeout(TIMEOUT_READ_WRITE, xxx) really do?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

What does SetTimeout(TIMEOUT_READ_WRITE, xxx) really do?

Kurt Godwin
I'm trying to figure out why nsPop3Protocol is leaving connections hanging
when server errors occur.
I see that connections get moved to the nsSocketTransportService's idle
list, and then never get checked for timeout conditions.
I would have thought that the SetTimeout function would timeout the
connection if the server did not send data within 60 seconds from the last
send or receive. Since this is not the case, what exactly is the timeout
for??

you can look at the log file created by the debug build of thunderbird here:
https://bugzilla.mozilla.org/attachment.cgi?id=206466&action=view
If you follow it, you will see that ther are no active or idle sockets, then
a connection is made to earthlink, a bogus username is passed to it, and it
responds with an error, and then the POP3 protocol tries to talk to the
connection again, but the server must have disconnected, and necko did not
notify the protocol handler of this fact, so the connection is never cleaned
up.

This log shows that the connection never times out even though the
TIMEOUT_READ_WRITE was changed to 60 (because the connection is added to the
idle list, and the idle list is never aged).


_______________________________________________
Mozilla-netlib mailing list
[hidden email]
http://mail.mozilla.org/listinfo/mozilla-netlib