From 0ee7574732a06e8cace4e099a678f4bd5dbff679 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 13 Oct 2017 16:07:13 -0700 Subject: Removing instances of exec_ctx being passed around in functions in src/core. exec_ctx is now a thread_local pointer of type ExecCtx instead of grpc_exec_ctx which is initialized whenever ExecCtx is instantiated. ExecCtx also keeps track of the previous exec_ctx so that nesting of exec_ctx is allowed. This means that there is only one exec_ctx being used at any time. Also, grpc_exec_ctx_finish is called in the destructor of the object, and the previous exec_ctx is restored to avoid breaking current functionality. The code still explicitly calls grpc_exec_ctx_finish because removing all such instances causes the code to break. --- test/cpp/grpclb/grpclb_test.cc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'test/cpp/grpclb') diff --git a/test/cpp/grpclb/grpclb_test.cc b/test/cpp/grpclb/grpclb_test.cc index e740ea513a..366ba10061 100644 --- a/test/cpp/grpclb/grpclb_test.cc +++ b/test/cpp/grpclb/grpclb_test.cc @@ -557,7 +557,7 @@ static void perform_request(client_fixture *cf) { #define BALANCERS_NAME "lb.name" static void setup_client(const server_fixture *lb_server, const server_fixture *backends, client_fixture *cf) { - grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT; + ExecCtx _local_exec_ctx; char *expected_target_names = NULL; const char *backends_name = lb_server->servers_hostport; @@ -569,7 +569,7 @@ static void setup_client(const server_fixture *lb_server, grpc_lb_addresses *addresses = grpc_lb_addresses_create(1, NULL); char *lb_uri_str; gpr_asprintf(&lb_uri_str, "ipv4:%s", lb_server->servers_hostport); - grpc_uri *lb_uri = grpc_uri_parse(&exec_ctx, lb_uri_str, true); + grpc_uri *lb_uri = grpc_uri_parse(lb_uri_str, true); GPR_ASSERT(lb_uri != NULL); grpc_lb_addresses_set_address_from_uri(addresses, 0, lb_uri, true, lb_server->balancer_name, NULL); @@ -581,7 +581,7 @@ static void setup_client(const server_fixture *lb_server, grpc_lb_addresses_create_channel_arg(addresses); grpc_channel_args *fake_result = grpc_channel_args_copy_and_add(NULL, &fake_addresses, 1); - grpc_lb_addresses_destroy(&exec_ctx, addresses); + grpc_lb_addresses_destroy(addresses); const grpc_arg new_args[] = { grpc_fake_transport_expected_targets_arg(expected_target_names), @@ -596,13 +596,13 @@ static void setup_client(const server_fixture *lb_server, grpc_fake_transport_security_credentials_create(); cf->client = grpc_secure_channel_create(fake_creds, cf->server_uri, args, NULL); - grpc_fake_resolver_response_generator_set_response( - &exec_ctx, response_generator, fake_result); - grpc_channel_args_destroy(&exec_ctx, fake_result); - grpc_channel_credentials_unref(&exec_ctx, fake_creds); - grpc_channel_args_destroy(&exec_ctx, args); + grpc_fake_resolver_response_generator_set_response(response_generator, + fake_result); + grpc_channel_args_destroy(fake_result); + grpc_channel_credentials_unref(fake_creds); + grpc_channel_args_destroy(args); grpc_fake_resolver_response_generator_unref(response_generator); - grpc_exec_ctx_finish(&exec_ctx); + grpc_exec_ctx_finish(); } static void teardown_client(client_fixture *cf) { -- cgit v1.2.3