Edi Weitz wrote:
PS: All these tests were done with :read-timeout nil Maybe I should set it to 119 and forget about it
Have you tried (with a short timeout)? Does it make a difference?
Actually, when the client timeout happens the worker thread is waiting on a condition variable, not on a socket read, so :read-timeout doesn't have anything to do with my problem.
Instead, timing out of my condition variable after less than 2 minutes and telling the client to start a new request does work, although it's not an ideal solution (as some browsers could have a shorter timeout.)
One thing you could test is if this happens with AllegroCL
I just made some tests with Hunchentoot on AllegroCL, AllegroServe on AllegroCL and even PHP5 on Apache! To my surprise, they all behave like Hunchentoot on SBCL! Apparently what I considered the "right behaviour" was a quirk in the mod_lisp2 setup I was using before.
I guess I need to dust some socket programming textbook!
Toby