aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objective-c/GRPCClient/GRPCCall.m
diff options
context:
space:
mode:
authorGravatar Muxi Yan <mxyan@google.com>2018-11-14 14:40:44 -0800
committerGravatar Muxi Yan <mxyan@google.com>2018-11-14 14:40:44 -0800
commit78c2176afcdf2267467c68f6f070fc6543673bd7 (patch)
treeae3299bee58dffd741a794a61b140c102e10b7f6 /src/objective-c/GRPCClient/GRPCCall.m
parentb77203fdf59faa38e7be01f8796d3bc3e67db602 (diff)
Assign finished and canceled
Diffstat (limited to 'src/objective-c/GRPCClient/GRPCCall.m')
-rw-r--r--src/objective-c/GRPCClient/GRPCCall.m4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/objective-c/GRPCClient/GRPCCall.m b/src/objective-c/GRPCClient/GRPCCall.m
index 39681d2adf..9d81dcf6e6 100644
--- a/src/objective-c/GRPCClient/GRPCCall.m
+++ b/src/objective-c/GRPCClient/GRPCCall.m
@@ -143,7 +143,7 @@ const char *kCFStreamVarName = "grpc_cfstream";
dispatch_set_target_queue(responseHandler.dispatchQueue, _dispatchQueue);
_started = NO;
_canceled = NO;
- _finished = YES;
+ _finished = NO;
}
return self;
@@ -218,6 +218,7 @@ const char *kCFStreamVarName = "grpc_cfstream";
- (void)cancel {
dispatch_async(_dispatchQueue, ^{
GRPCAssert(!self->_canceled, NSInternalInconsistencyException, @"Call already canceled.");
+ self->_canceled = YES;
if (self->_call) {
[self->_call cancel];
self->_call = nil;
@@ -263,6 +264,7 @@ const char *kCFStreamVarName = "grpc_cfstream";
[self->_pipe writesFinishedWithError:nil];
}
self->_pipe = nil;
+ self->_finished = YES;
});
}