From aa1eabe2305f5e44d573292bc965f63c85f96f40 Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Wed, 25 Mar 2015 21:53:01 -0500 Subject: #1109 - Converting pushEvent and flush to use actual serial queues that are dispatched asynchronously. --- platform/ios/MGLMapboxEvents.m | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/platform/ios/MGLMapboxEvents.m b/platform/ios/MGLMapboxEvents.m index 838fd11d36..9ceac3902b 100644 --- a/platform/ios/MGLMapboxEvents.m +++ b/platform/ios/MGLMapboxEvents.m @@ -23,6 +23,8 @@ @property (atomic) NSString *anonid; @property (atomic) NSTimer *timer; @property (atomic) NSString *userAgent; +@property (atomic) dispatch_queue_t serialqPush; +@property (atomic) dispatch_queue_t serialqFlush; @end @@ -57,6 +59,8 @@ NSNumber *scale; [[NSUserDefaults standardUserDefaults] registerDefaults:defaultsToRegister]; } + _serialqPush = dispatch_queue_create("SERIALQPUSH", DISPATCH_QUEUE_SERIAL); + _serialqFlush = dispatch_queue_create("SERIALQFLUSH", DISPATCH_QUEUE_SERIAL); // Configure Events Infrastructure _queue = [[NSMutableArray alloc] init]; @@ -132,7 +136,7 @@ NSNumber *scale; return; } - dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ + dispatch_async(_serialqPush, ^{ NSMutableDictionary *evt = [[NSMutableDictionary alloc] init]; // mapbox-events stock attributes @@ -180,7 +184,7 @@ NSNumber *scale; return; } - dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ + dispatch_async(_serialqFlush, ^{ int upper = (int)_flushAt; if (_flushAt > [_queue count]) { -- cgit v1.2.1