diff options
Diffstat (limited to 'src/core/client_config')
-rw-r--r-- | src/core/client_config/connector.c | 5 | ||||
-rw-r--r-- | src/core/client_config/resolvers/dns_resolver.c | 2 | ||||
-rw-r--r-- | src/core/client_config/resolvers/sockaddr_resolver.c | 2 | ||||
-rw-r--r-- | src/core/client_config/subchannel.c | 3 | ||||
-rw-r--r-- | src/core/client_config/subchannel_factory.c | 5 | ||||
-rw-r--r-- | src/core/client_config/subchannel_factory_decorators/merge_channel_args.c | 5 |
6 files changed, 12 insertions, 10 deletions
diff --git a/src/core/client_config/connector.c b/src/core/client_config/connector.c index 31f0b84efe..a0f346faeb 100644 --- a/src/core/client_config/connector.c +++ b/src/core/client_config/connector.c @@ -37,8 +37,9 @@ void grpc_connector_ref(grpc_connector *connector) { connector->vtable->ref(connector); } -void grpc_connector_unref(grpc_connector *connector) { - connector->vtable->unref(connector); +void grpc_connector_unref(grpc_connector *connector, + grpc_call_list *call_list) { + connector->vtable->unref(connector, call_list); } void grpc_connector_connect(grpc_connector *connector, diff --git a/src/core/client_config/resolvers/dns_resolver.c b/src/core/client_config/resolvers/dns_resolver.c index 9e9b3d4917..5750db4b43 100644 --- a/src/core/client_config/resolvers/dns_resolver.c +++ b/src/core/client_config/resolvers/dns_resolver.c @@ -145,7 +145,7 @@ static void dns_on_resolved(void *arg, grpc_resolved_addresses *addresses, args.addr = (struct sockaddr *)(addresses->addrs[i].addr); args.addr_len = (size_t)addresses->addrs[i].len; subchannels[i] = grpc_subchannel_factory_create_subchannel( - r->subchannel_factory, &args); + r->subchannel_factory, &args, call_list); } memset(&lb_policy_args, 0, sizeof(lb_policy_args)); lb_policy_args.subchannels = subchannels; diff --git a/src/core/client_config/resolvers/sockaddr_resolver.c b/src/core/client_config/resolvers/sockaddr_resolver.c index 15eb60b93a..38293b0f13 100644 --- a/src/core/client_config/resolvers/sockaddr_resolver.c +++ b/src/core/client_config/resolvers/sockaddr_resolver.c @@ -139,7 +139,7 @@ static void sockaddr_maybe_finish_next_locked(sockaddr_resolver *r, args.addr = (struct sockaddr *)&r->addrs[i]; args.addr_len = r->addrs_len[i]; subchannels[i] = grpc_subchannel_factory_create_subchannel( - r->subchannel_factory, &args); + r->subchannel_factory, &args, call_list); } memset(&lb_policy_args, 0, sizeof(lb_policy_args)); lb_policy_args.subchannels = subchannels; diff --git a/src/core/client_config/subchannel.c b/src/core/client_config/subchannel.c index 937b3cd71c..bae705f9c3 100644 --- a/src/core/client_config/subchannel.c +++ b/src/core/client_config/subchannel.c @@ -263,7 +263,7 @@ static void subchannel_destroy(grpc_subchannel *c, grpc_call_list *call_list) { gpr_free(c->addr); grpc_mdctx_unref(c->mdctx); grpc_connectivity_state_destroy(&c->state_tracker); - grpc_connector_unref(c->connector); + grpc_connector_unref(c->connector, call_list); gpr_free(c); } @@ -320,7 +320,6 @@ static void continue_connect(grpc_subchannel *c, grpc_call_list *call_list) { args.addr_len = c->addr_len; args.deadline = compute_connect_deadline(c); args.channel_args = c->args; - args.metadata_context = c->mdctx; grpc_connector_connect(c->connector, &args, &c->connecting_result, &c->connected, call_list); diff --git a/src/core/client_config/subchannel_factory.c b/src/core/client_config/subchannel_factory.c index f71386594c..2a569aba13 100644 --- a/src/core/client_config/subchannel_factory.c +++ b/src/core/client_config/subchannel_factory.c @@ -41,6 +41,7 @@ void grpc_subchannel_factory_unref(grpc_subchannel_factory *factory) { } grpc_subchannel *grpc_subchannel_factory_create_subchannel( - grpc_subchannel_factory *factory, grpc_subchannel_args *args) { - return factory->vtable->create_subchannel(factory, args); + grpc_subchannel_factory *factory, grpc_subchannel_args *args, + grpc_call_list *call_list) { + return factory->vtable->create_subchannel(factory, args, call_list); } diff --git a/src/core/client_config/subchannel_factory_decorators/merge_channel_args.c b/src/core/client_config/subchannel_factory_decorators/merge_channel_args.c index c1b5507fde..b2c9797b1a 100644 --- a/src/core/client_config/subchannel_factory_decorators/merge_channel_args.c +++ b/src/core/client_config/subchannel_factory_decorators/merge_channel_args.c @@ -57,13 +57,14 @@ static void merge_args_factory_unref(grpc_subchannel_factory *scf) { } static grpc_subchannel *merge_args_factory_create_subchannel( - grpc_subchannel_factory *scf, grpc_subchannel_args *args) { + grpc_subchannel_factory *scf, grpc_subchannel_args *args, + grpc_call_list *call_list) { merge_args_factory *f = (merge_args_factory *)scf; grpc_channel_args *final_args = grpc_channel_args_merge(args->args, f->merge_args); grpc_subchannel *s; args->args = final_args; - s = grpc_subchannel_factory_create_subchannel(f->wrapped, args); + s = grpc_subchannel_factory_create_subchannel(f->wrapped, args, call_list); grpc_channel_args_destroy(final_args); return s; } |