in reply to Handling abnormal thread termination

/me nods ...

Ctegorically speaking, however, I don’t like to shoot people when they do something wrong or take too long to get back to me.   Hence my suggestion to if-possible use some kind of a timer within the process/thread, which survives, and which therefore is better able to maintain control and awareness.   Not only does it take a comparatively long time to tear down and rebuild a thread context, but you have absolutely no idea (again, categorically speaking) just what exactly the thread was or was not doing when it died, especially when it was interacting with other processes – such as database engines – who suddenly might be left with no more than, “hey! somebody call the police! someone just shot my client!”   And, I’d really like to avoid thread/process teardown and setup being associated with the completion of a request, at all.   Can’t say that you can always achieve that, though, as well you know.   But it does make the thing a lot easier to diagnose.