aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/security/credentials/credentials.cc
diff options
context:
space:
mode:
authorGravatar Yash Tibrewal <yashkt@google.com>2017-12-06 09:05:05 -0800
committerGravatar GitHub <noreply@github.com>2017-12-06 09:05:05 -0800
commitad4d2dde0052efbbf49d64b0843c45f0381cfeb3 (patch)
tree6a657f8c6179d873b34505cdc24bce9462ca68eb /src/core/lib/security/credentials/credentials.cc
parenta3df36cc2505a89c2f481eea4a66a87b3002844a (diff)
Revert "All instances of exec_ctx being passed around in src/core removed"
Diffstat (limited to 'src/core/lib/security/credentials/credentials.cc')
-rw-r--r--src/core/lib/security/credentials/credentials.cc73
1 files changed, 41 insertions, 32 deletions
diff --git a/src/core/lib/security/credentials/credentials.cc b/src/core/lib/security/credentials/credentials.cc
index 48b459e1be..90576e69b9 100644
--- a/src/core/lib/security/credentials/credentials.cc
+++ b/src/core/lib/security/credentials/credentials.cc
@@ -47,8 +47,8 @@ grpc_credentials_metadata_request* grpc_credentials_metadata_request_create(
}
void grpc_credentials_metadata_request_destroy(
- grpc_credentials_metadata_request* r) {
- grpc_call_credentials_unref(r->creds);
+ grpc_exec_ctx* exec_ctx, grpc_credentials_metadata_request* r) {
+ grpc_call_credentials_unref(exec_ctx, r->creds);
grpc_http_response_destroy(&r->response);
gpr_free(r);
}
@@ -60,11 +60,12 @@ grpc_channel_credentials* grpc_channel_credentials_ref(
return creds;
}
-void grpc_channel_credentials_unref(grpc_channel_credentials* creds) {
+void grpc_channel_credentials_unref(grpc_exec_ctx* exec_ctx,
+ grpc_channel_credentials* creds) {
if (creds == nullptr) return;
if (gpr_unref(&creds->refcount)) {
if (creds->vtable->destruct != nullptr) {
- creds->vtable->destruct(creds);
+ creds->vtable->destruct(exec_ctx, creds);
}
gpr_free(creds);
}
@@ -72,8 +73,9 @@ void grpc_channel_credentials_unref(grpc_channel_credentials* creds) {
void grpc_channel_credentials_release(grpc_channel_credentials* creds) {
GRPC_API_TRACE("grpc_channel_credentials_release(creds=%p)", 1, (creds));
- grpc_core::ExecCtx exec_ctx;
- grpc_channel_credentials_unref(creds);
+ grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
+ grpc_channel_credentials_unref(&exec_ctx, creds);
+ grpc_exec_ctx_finish(&exec_ctx);
}
grpc_call_credentials* grpc_call_credentials_ref(grpc_call_credentials* creds) {
@@ -82,11 +84,12 @@ grpc_call_credentials* grpc_call_credentials_ref(grpc_call_credentials* creds) {
return creds;
}
-void grpc_call_credentials_unref(grpc_call_credentials* creds) {
+void grpc_call_credentials_unref(grpc_exec_ctx* exec_ctx,
+ grpc_call_credentials* creds) {
if (creds == nullptr) return;
if (gpr_unref(&creds->refcount)) {
if (creds->vtable->destruct != nullptr) {
- creds->vtable->destruct(creds);
+ creds->vtable->destruct(exec_ctx, creds);
}
gpr_free(creds);
}
@@ -94,42 +97,44 @@ void grpc_call_credentials_unref(grpc_call_credentials* creds) {
void grpc_call_credentials_release(grpc_call_credentials* creds) {
GRPC_API_TRACE("grpc_call_credentials_release(creds=%p)", 1, (creds));
- grpc_core::ExecCtx exec_ctx;
- grpc_call_credentials_unref(creds);
+ grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
+ grpc_call_credentials_unref(&exec_ctx, creds);
+ grpc_exec_ctx_finish(&exec_ctx);
}
bool grpc_call_credentials_get_request_metadata(
- grpc_call_credentials* creds, grpc_polling_entity* pollent,
- grpc_auth_metadata_context context, grpc_credentials_mdelem_array* md_array,
- grpc_closure* on_request_metadata, grpc_error** error) {
+ grpc_exec_ctx* exec_ctx, grpc_call_credentials* creds,
+ grpc_polling_entity* pollent, grpc_auth_metadata_context context,
+ grpc_credentials_mdelem_array* md_array, grpc_closure* on_request_metadata,
+ grpc_error** error) {
if (creds == nullptr || creds->vtable->get_request_metadata == nullptr) {
return true;
}
- return creds->vtable->get_request_metadata(creds, pollent, context, md_array,
- on_request_metadata, error);
+ return creds->vtable->get_request_metadata(
+ exec_ctx, creds, pollent, context, md_array, on_request_metadata, error);
}
void grpc_call_credentials_cancel_get_request_metadata(
- grpc_call_credentials* creds, grpc_credentials_mdelem_array* md_array,
- grpc_error* error) {
+ grpc_exec_ctx* exec_ctx, grpc_call_credentials* creds,
+ grpc_credentials_mdelem_array* md_array, grpc_error* error) {
if (creds == nullptr ||
creds->vtable->cancel_get_request_metadata == nullptr) {
return;
}
- creds->vtable->cancel_get_request_metadata(creds, md_array, error);
+ creds->vtable->cancel_get_request_metadata(exec_ctx, creds, md_array, error);
}
grpc_security_status grpc_channel_credentials_create_security_connector(
- grpc_channel_credentials* channel_creds, const char* target,
- const grpc_channel_args* args, grpc_channel_security_connector** sc,
- grpc_channel_args** new_args) {
+ grpc_exec_ctx* exec_ctx, grpc_channel_credentials* channel_creds,
+ const char* target, const grpc_channel_args* args,
+ grpc_channel_security_connector** sc, grpc_channel_args** new_args) {
*new_args = nullptr;
if (channel_creds == nullptr) {
return GRPC_SECURITY_ERROR;
}
GPR_ASSERT(channel_creds->vtable->create_security_connector != nullptr);
return channel_creds->vtable->create_security_connector(
- channel_creds, nullptr, target, args, sc, new_args);
+ exec_ctx, channel_creds, nullptr, target, args, sc, new_args);
}
grpc_channel_credentials*
@@ -144,8 +149,8 @@ grpc_channel_credentials_duplicate_without_call_credentials(
}
}
-static void credentials_pointer_arg_destroy(void* p) {
- grpc_channel_credentials_unref((grpc_channel_credentials*)p);
+static void credentials_pointer_arg_destroy(grpc_exec_ctx* exec_ctx, void* p) {
+ grpc_channel_credentials_unref(exec_ctx, (grpc_channel_credentials*)p);
}
static void* credentials_pointer_arg_copy(void* p) {
@@ -195,11 +200,12 @@ grpc_server_credentials* grpc_server_credentials_ref(
return creds;
}
-void grpc_server_credentials_unref(grpc_server_credentials* creds) {
+void grpc_server_credentials_unref(grpc_exec_ctx* exec_ctx,
+ grpc_server_credentials* creds) {
if (creds == nullptr) return;
if (gpr_unref(&creds->refcount)) {
if (creds->vtable->destruct != nullptr) {
- creds->vtable->destruct(creds);
+ creds->vtable->destruct(exec_ctx, creds);
}
if (creds->processor.destroy != nullptr &&
creds->processor.state != nullptr) {
@@ -211,17 +217,19 @@ void grpc_server_credentials_unref(grpc_server_credentials* creds) {
void grpc_server_credentials_release(grpc_server_credentials* creds) {
GRPC_API_TRACE("grpc_server_credentials_release(creds=%p)", 1, (creds));
- grpc_core::ExecCtx exec_ctx;
- grpc_server_credentials_unref(creds);
+ grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
+ grpc_server_credentials_unref(&exec_ctx, creds);
+ grpc_exec_ctx_finish(&exec_ctx);
}
grpc_security_status grpc_server_credentials_create_security_connector(
- grpc_server_credentials* creds, grpc_server_security_connector** sc) {
+ grpc_exec_ctx* exec_ctx, grpc_server_credentials* creds,
+ grpc_server_security_connector** sc) {
if (creds == nullptr || creds->vtable->create_security_connector == nullptr) {
gpr_log(GPR_ERROR, "Server credentials cannot create security context.");
return GRPC_SECURITY_ERROR;
}
- return creds->vtable->create_security_connector(creds, sc);
+ return creds->vtable->create_security_connector(exec_ctx, creds, sc);
}
void grpc_server_credentials_set_auth_metadata_processor(
@@ -239,8 +247,9 @@ void grpc_server_credentials_set_auth_metadata_processor(
creds->processor = processor;
}
-static void server_credentials_pointer_arg_destroy(void* p) {
- grpc_server_credentials_unref((grpc_server_credentials*)p);
+static void server_credentials_pointer_arg_destroy(grpc_exec_ctx* exec_ctx,
+ void* p) {
+ grpc_server_credentials_unref(exec_ctx, (grpc_server_credentials*)p);
}
static void* server_credentials_pointer_arg_copy(void* p) {