On Tue 19 Jun, 2001, Mark Jefferys <[EMAIL PROTECTED]> wrote:
>On Sun, Jun 17, 2001 at 08:56:13PM +0100, James R Grinter wrote:
>Go look at timeoutread(), which *is* in your path. The select is in
>the line right before where you wedge.
sorry, yes. You're right.
>It doesn't. (Don't know about other people's.) It assumes that the
>fd_sets will be cleared on timeout. Setting the fd_sets each time is
>always necessary and doesn't protect against this issue, anyway.
I've now properly read the code, and I see what you're suggesting. I
may be naive in believing manual pages, but in lieu of other evidence I
do tend to go with what they say and it does explicitly mention zeroing
the values upon timeout - therefore I wouldn't have expected to see
this particular problem on Solaris 2.x.
However, it wouldn't be too hard to modify it to log the condition of
timeout being reached and an fdset not being zero.
>I also put a debugging version of qmail-remote on my system, so if it
>ever decides to hang again I can fling gdb at it.
yes, that is what I should do too.
James.