session-ios/SessionProtocolKit/Signal/Utility/Threading.m
2020-11-05 17:04:39 +11:00

37 lines
674 B
Objective-C

//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "Threading.h"
#import <SessionProtocolKit/OWSAsserts.h>
NS_ASSUME_NONNULL_BEGIN
void DispatchMainThreadSafe(dispatch_block_t block)
{
OWSCAssertDebug(block);
if ([NSThread isMainThread]) {
block();
} else {
dispatch_async(dispatch_get_main_queue(), ^{
block();
});
}
}
void DispatchSyncMainThreadSafe(dispatch_block_t block)
{
OWSCAssertDebug(block);
if ([NSThread isMainThread]) {
block();
} else {
dispatch_sync(dispatch_get_main_queue(), ^{
block();
});
}
}
NS_ASSUME_NONNULL_END