diff options
author | Yash Tibrewal <yashkt@google.com> | 2018-11-06 14:56:24 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-06 14:56:24 -0800 |
commit | 193b4b57ec8ec1509a91069f8cdd1ba1917b2d71 (patch) | |
tree | 6e346ecbad7f8b579c585b3619123ce17f5f9380 /src/cpp/server | |
parent | 385fde64fc2e3b0241229e4a018ea0989a2a00bc (diff) | |
parent | ded9434e4c23e6be69feeda9ca05b31bceb5e5f9 (diff) |
Merge pull request #17072 from yashykt/interceptor_cancellation
Interceptors should see a Cancellation notification
Diffstat (limited to 'src/cpp/server')
-rw-r--r-- | src/cpp/server/server_context.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cpp/server/server_context.cc b/src/cpp/server/server_context.cc index 19e6cfb0b4..396996e5bc 100644 --- a/src/cpp/server/server_context.cc +++ b/src/cpp/server/server_context.cc @@ -294,6 +294,12 @@ void ServerContext::AddTrailingMetadata(const grpc::string& key, } void ServerContext::TryCancel() const { + internal::CancelInterceptorBatchMethods cancel_methods; + if (rpc_info_) { + for (size_t i = 0; i < rpc_info_->interceptors_.size(); i++) { + rpc_info_->RunInterceptor(&cancel_methods, i); + } + } grpc_call_error err = grpc_call_cancel_with_status( call_, GRPC_STATUS_CANCELLED, "Cancelled on the server side", nullptr); if (err != GRPC_CALL_OK) { |