Fix managers' thread safety issue

pull/19704/head
Muxi Yan 6 years ago
parent 12ca64d2c3
commit 69f3e27b99
  1. 10
      src/objective-c/GRPCClient/GRPCInterceptor.m
  2. 6
      src/objective-c/GRPCClient/private/GRPCTransport+Private.m

@ -68,10 +68,12 @@
}
- (void)shutDown {
_nextInterceptor = nil;
_previousInterceptor = nil;
_thisInterceptor = nil;
_shutDown = YES;
dispatch_async(_dispatchQueue, ^{
self->_nextInterceptor = nil;
self->_previousInterceptor = nil;
self->_thisInterceptor = nil;
self->_shutDown = YES;
});
}
- (void)createNextInterceptor {

@ -47,8 +47,10 @@
}
- (void)shutDown {
_transport = nil;
_previousInterceptor = nil;
dispatch_async(_dispatchQueue, ^{
self->_transport = nil;
self->_previousInterceptor = nil;
});
}
- (dispatch_queue_t)dispatchQueue {

Loading…
Cancel
Save