diff --git a/DetoxSync/DetoxSync/SyncManager/DTXSyncManager.m b/DetoxSync/DetoxSync/SyncManager/DTXSyncManager.m index 24d7b08..d09ee47 100644 --- a/DetoxSync/DetoxSync/SyncManager/DTXSyncManager.m +++ b/DetoxSync/DetoxSync/SyncManager/DTXSyncManager.m @@ -191,9 +191,16 @@ + (void)__superload _pendingIdleBlocks = [NSMutableArray new]; _trackedThreads = [NSMapTable weakToStrongObjectsMapTable]; + [_trackedThreads setObject:@{@"name": @"Main Thread"} forKey:[NSThread mainThread]]; - - [self _trackCFRunLoop:CFRunLoopGetMain() name:@"Main RunLoop"]; + + // Experimental: disable main run-loop sync, due to excessive activity on the main thread. + BOOL shouldDisableMainRunLoopSync = + [NSUserDefaults.standardUserDefaults boolForKey:@"DTXDisableMainRunLoopSync"]; + if (!shouldDisableMainRunLoopSync) { + [self _trackCFRunLoop:CFRunLoopGetMain() name:@"Main RunLoop"]; + } + _systemWasBusy = DTXIsSystemBusyNow(); } }