diff options
Diffstat (limited to 'ThirdParty/SmartThreadPool/SmartThreadPool.cs')
-rw-r--r-- | ThirdParty/SmartThreadPool/SmartThreadPool.cs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/ThirdParty/SmartThreadPool/SmartThreadPool.cs b/ThirdParty/SmartThreadPool/SmartThreadPool.cs index bd52f62..8c9d38b 100644 --- a/ThirdParty/SmartThreadPool/SmartThreadPool.cs +++ b/ThirdParty/SmartThreadPool/SmartThreadPool.cs | |||
@@ -535,17 +535,10 @@ namespace Amib.Threading | |||
535 | // Process until shutdown. | 535 | // Process until shutdown. |
536 | while(!_shutdown) | 536 | while(!_shutdown) |
537 | { | 537 | { |
538 | // Update the last time this thread was seen alive. | 538 | |
539 | // It's good for debugging. | ||
540 | _workerThreads[Thread.CurrentThread] = DateTime.Now; | ||
541 | |||
542 | // Wait for a work item, shutdown, or timeout | 539 | // Wait for a work item, shutdown, or timeout |
543 | WorkItem workItem = Dequeue(); | 540 | WorkItem workItem = Dequeue(); |
544 | 541 | ||
545 | // Update the last time this thread was seen alive. | ||
546 | // It's good for debugging. | ||
547 | _workerThreads[Thread.CurrentThread] = DateTime.Now; | ||
548 | |||
549 | // On timeout or shut down. | 542 | // On timeout or shut down. |
550 | if (null == workItem) | 543 | if (null == workItem) |
551 | { | 544 | { |
@@ -554,6 +547,10 @@ namespace Amib.Threading | |||
554 | { | 547 | { |
555 | lock(_workerThreads.SyncRoot) | 548 | lock(_workerThreads.SyncRoot) |
556 | { | 549 | { |
550 | // Update the last time this thread was seen alive. | ||
551 | // It's good for debugging. | ||
552 | _workerThreads[Thread.CurrentThread] = DateTime.Now; | ||
553 | |||
557 | if (_workerThreads.Count > _stpStartInfo.MinWorkerThreads) | 554 | if (_workerThreads.Count > _stpStartInfo.MinWorkerThreads) |
558 | { | 555 | { |
559 | // Inform that the thread is quiting and then quit. | 556 | // Inform that the thread is quiting and then quit. |