Are your "very good reasons" good enough to justify
using a threading implementation which is experimental and
is known not to be thread-safe?
You haven't said what you are doing, but my strong
recommendation is to use an existing solution, such as
Apache with mod_perl.
As for your problem, the best way I can think of to solve
it with threading is to split the child thread into 2.
One to write back to the client, one to wait a fixed time,
and if the page is still loading send a timeout message
and then close the connection. (The backend work still
gets done either way.) Hope and pray that you don't have
a race between when the sleeper starts writing its timeout
message and when the other thread chooses to finish what
it is doing...