session-ios/Signal/src/util/protocols/utilities/AnonymousTerminator.m
Matthew Chen 3c3f782e7d Clean up prekey usage.
// FREEBIE
2017-02-14 13:46:08 -05:00

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