mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
25 lines
523 B
Objective-C
25 lines
523 B
Objective-C
//
|
|
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
|
//
|
|
|
|
#import "AnonymousTerminator.h"
|
|
|
|
@implementation AnonymousTerminator
|
|
|
|
+ (AnonymousTerminator *)cancellerWithCancel:(void (^)(void))terminate {
|
|
ows_require(terminate != nil);
|
|
AnonymousTerminator *c = [AnonymousTerminator new];
|
|
c->_terminateBlock = terminate;
|
|
return c;
|
|
}
|
|
|
|
- (void)terminate {
|
|
@synchronized(self) {
|
|
if (alreadyCalled)
|
|
return;
|
|
alreadyCalled = true;
|
|
}
|
|
_terminateBlock();
|
|
}
|
|
@end
|