Ken, I've added a couple log.debug statements at the beginning and ending of our Thread.run subclass, so that now it should be really obvious to us in the debugging output when threads are starting and stopping. I still can no longer reproduce any more hangs in dispatcher.Refresh, I've let it run for quite a while with many iterations and no issues.
Please merge and then we'll just have to keep an eye out for any hangs if they return in the future.
Ken, I've added a couple log.debug statements at the beginning and ending of our Thread.run subclass, so that now it should be really obvious to us in the debugging output when threads are starting and stopping. I still can no longer reproduce any more hangs in dispatcher.Refresh, I've let it run for quite a while with many iterations and no issues.
Please merge and then we'll just have to keep an eye out for any hangs if they return in the future.