From 569b2711ccc7b29cff22838bfc948748532d373a Mon Sep 17 00:00:00 2001 From: Greg Lutz Date: Fri, 26 Jun 2015 09:31:31 -0400 Subject: [PATCH] moved wait to finally block --- TimberWinR/Outputs/Redis.cs | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/TimberWinR/Outputs/Redis.cs b/TimberWinR/Outputs/Redis.cs index 23a3782..8cb9841 100644 --- a/TimberWinR/Outputs/Redis.cs +++ b/TimberWinR/Outputs/Redis.cs @@ -319,9 +319,13 @@ namespace TimberWinR.Outputs _batchCounter.SampleQueueDepth(_jsonQueue.Count); // Re-compute current batch size - LogManager.GetCurrentClassLogger().Trace("{0}: Average Queue Depth: {1}, Current Length: {2}", Thread.CurrentThread.ManagedThreadId, _batchCounter.AverageQueueDepth(), _jsonQueue.Count); - - _currentBatchCount = _batchCounter.UpdateCurrentBatchCount(_jsonQueue.Count, _currentBatchCount); + LogManager.GetCurrentClassLogger() + .Trace("{0}: Average Queue Depth: {1}, Current Length: {2}", + Thread.CurrentThread.ManagedThreadId, _batchCounter.AverageQueueDepth(), + _jsonQueue.Count); + + _currentBatchCount = _batchCounter.UpdateCurrentBatchCount(_jsonQueue.Count, + _currentBatchCount); messages = _jsonQueue.Take(_currentBatchCount).ToArray(); _jsonQueue.RemoveRange(0, messages.Length); @@ -342,7 +346,9 @@ namespace TimberWinR.Outputs { client.StartPipe(); LogManager.GetCurrentClassLogger() - .Debug("{0}: Sending {1} Messages to {2}", Thread.CurrentThread.ManagedThreadId, messages.Length, client.Host); + .Debug("{0}: Sending {1} Messages to {2}", + Thread.CurrentThread.ManagedThreadId, messages.Length, + client.Host); try { @@ -394,9 +400,7 @@ namespace TimberWinR.Outputs _jsonQueue.InsertRange(0, messages); } } - } - if (!Stop) - syncHandle.Wait(TimeSpan.FromMilliseconds(_interval), CancelToken); + } } catch (OperationCanceledException) { @@ -412,6 +416,17 @@ namespace TimberWinR.Outputs Interlocked.Increment(ref _errorCount); LogManager.GetCurrentClassLogger().Error(ex); } + finally + { + try + { + if (!Stop) + syncHandle.Wait(TimeSpan.FromMilliseconds(_interval), CancelToken); + } + catch (Exception) + { + } + } } } }