From c658e5c1c33bd7edae072b376eeba5899f4b4f71 Mon Sep 17 00:00:00 2001 From: rfm Date: Sun, 22 Mar 2015 07:39:14 +0000 Subject: [PATCH] fix use of pandingFlush git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/ec/trunk@38418 72102866-910b-0410-8b05-ffd578937521 --- EcLogger.m | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/EcLogger.m b/EcLogger.m index f05fae7..271f4d7 100644 --- a/EcLogger.m +++ b/EcLogger.m @@ -426,6 +426,7 @@ static NSArray *modes; * a flush real soon. */ [lock lock]; + pendingFlush = NO; if (reset != nil) { if (timer != nil && [[timer fireDate] timeIntervalSinceNow] > 0.001) @@ -487,7 +488,11 @@ static NSArray *modes; [message appendString: text]; if ([message length] >= size || (interval > 0.0 && timer == nil)) { - shouldFlush = YES; + if (NO == pendingFlush) + { + shouldFlush = YES; + pendingFlush = YES; + } } [lock unlock]; @@ -586,10 +591,13 @@ static NSArray *modes; /* * Ensure new values take effect real soon. */ - [self performSelectorOnMainThread: @selector(_scheduleFlush:) - withObject: self - waitUntilDone: NO - modes: modes]; + if (NO == pendingFlush) + { + [self performSelectorOnMainThread: @selector(_scheduleFlush:) + withObject: self + waitUntilDone: NO + modes: modes]; + } } } @end