From c36996ced365c839b01c5297d799ba79f1e05299 Mon Sep 17 00:00:00 2001 From: Damiano Galassi Date: Sat, 8 Jun 2019 16:20:43 +0200 Subject: MacGui: write the queue to disk less often and add some validations when reading it back from disk. --- macosx/HBDistributedArray.m | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'macosx/HBDistributedArray.m') diff --git a/macosx/HBDistributedArray.m b/macosx/HBDistributedArray.m index f92abfdf5..cac504456 100644 --- a/macosx/HBDistributedArray.m +++ b/macosx/HBDistributedArray.m @@ -167,7 +167,7 @@ NSString *HBDistributedArraWrittenToDisk = @"HBDistributedArraWrittenToDisk"; { // Save changes to disk // and unlock - [self synchronize]; + [self synchronizeIfNeeded]; [self unlock]; } @@ -243,6 +243,17 @@ NSString *HBDistributedArraWrittenToDisk = @"HBDistributedArraWrittenToDisk"; self.modifiedTime = [NSDate timeIntervalSinceReferenceDate]; } +/** + * Writes the changes to disk only if we aren't exiting a recursive lock + */ +- (void)synchronizeIfNeeded +{ + if (self.mutexCount == 1) + { + [self synchronize]; + } +} + /** * Writes the changes to disk */ -- cgit v1.2.3