From ed800460a8ac2beeeaa06fa90d12edee39892bbd Mon Sep 17 00:00:00 2001 From: cramakri <cramakri> Date: Thu, 1 Nov 2012 12:17:29 +0000 Subject: [PATCH] Made the cache sync actually run in a secondary thread. SVN: 27450 --- openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.h | 1 + openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.m | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.h b/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.h index d6d4a095b73..00ab1fa6f7c 100644 --- a/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.h +++ b/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.h @@ -36,6 +36,7 @@ @property (readonly, strong) NSManagedObjectModel *managedObjectModel; @property (readonly, strong) NSPersistentStoreCoordinator *persistentStoreCoordinator; @property (readonly, strong) NSEntityDescription *ipadEntityDescription; +@property (readonly, strong) NSOperationQueue *queue; // Initialization diff --git a/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.m b/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.m index 57dcfe2672a..a65d243590e 100644 --- a/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.m +++ b/openbis-ipad/BisKit/Classes/CISDOBIpadServiceManager.m @@ -99,6 +99,8 @@ static NSManagedObjectContext* GetMainThreadManagedObjectContext(NSURL* storeUrl _ipadEntityDescription = [NSEntityDescription entityForName: @"CISDOBIpadEntity" inManagedObjectContext: _managedObjectContext]; _managedObjectModel = [_ipadEntityDescription managedObjectModel]; + _queue = [[NSOperationQueue alloc] init]; + return self; } @@ -110,8 +112,7 @@ static NSManagedObjectContext* GetMainThreadManagedObjectContext(NSURL* storeUrl [synchronizer run]; [synchronizer performSelectorOnMainThread: @selector(notifyCallOfResult:) withObject: nil waitUntilDone: NO]; }; - NSBlockOperation *blockOp = [NSBlockOperation blockOperationWithBlock: syncBlock]; - [blockOp start]; + [_queue addOperationWithBlock: syncBlock]; } - (CISDOBIpadServiceManagerCall *)managerCallWrappingServiceCall:(CISDOBAsyncCall *)serviceCall pruning:(BOOL)prune -- GitLab