|
@@ -82,6 +82,7 @@ PHP_GRPC_FREE_WRAPPED_FUNC_START(wrapped_grpc_channel)
|
|
|
key_len, rsrc))) {
|
|
key_len, rsrc))) {
|
|
|
grpc_channel_destroy(p->wrapper->wrapped);
|
|
grpc_channel_destroy(p->wrapper->wrapped);
|
|
|
free(p->wrapper->target);
|
|
free(p->wrapper->target);
|
|
|
|
|
+ free(p->wrapper->args_hashstr);
|
|
|
}
|
|
}
|
|
|
gpr_mu_unlock(&global_persistent_list_mu);
|
|
gpr_mu_unlock(&global_persistent_list_mu);
|
|
|
}
|
|
}
|
|
@@ -290,7 +291,7 @@ PHP_METHOD(Channel, __construct) {
|
|
|
channel->wrapper = malloc(sizeof(grpc_channel_wrapper));
|
|
channel->wrapper = malloc(sizeof(grpc_channel_wrapper));
|
|
|
channel->wrapper->key = key;
|
|
channel->wrapper->key = key;
|
|
|
channel->wrapper->target = strdup(target);
|
|
channel->wrapper->target = strdup(target);
|
|
|
- channel->wrapper->args_hashstr = sha1str;
|
|
|
|
|
|
|
+ channel->wrapper->args_hashstr = strdup(sha1str);
|
|
|
if (creds != NULL && creds->hashstr != NULL) {
|
|
if (creds != NULL && creds->hashstr != NULL) {
|
|
|
channel->wrapper->creds_hashstr = creds->hashstr;
|
|
channel->wrapper->creds_hashstr = creds->hashstr;
|
|
|
}
|
|
}
|
|
@@ -433,6 +434,7 @@ PHP_METHOD(Channel, close) {
|
|
|
if (channel->wrapper->wrapped != NULL) {
|
|
if (channel->wrapper->wrapped != NULL) {
|
|
|
grpc_channel_destroy(channel->wrapper->wrapped);
|
|
grpc_channel_destroy(channel->wrapper->wrapped);
|
|
|
free(channel->wrapper->target);
|
|
free(channel->wrapper->target);
|
|
|
|
|
+ free(channel->wrapper->args_hashstr);
|
|
|
channel->wrapper->wrapped = NULL;
|
|
channel->wrapper->wrapped = NULL;
|
|
|
|
|
|
|
|
php_grpc_delete_persistent_list_entry(channel->wrapper->key,
|
|
php_grpc_delete_persistent_list_entry(channel->wrapper->key,
|
|
@@ -467,6 +469,7 @@ static void php_grpc_channel_plink_dtor(php_grpc_zend_resource *rsrc
|
|
|
if (le->channel->wrapped != NULL) {
|
|
if (le->channel->wrapped != NULL) {
|
|
|
grpc_channel_destroy(le->channel->wrapped);
|
|
grpc_channel_destroy(le->channel->wrapped);
|
|
|
free(le->channel->target);
|
|
free(le->channel->target);
|
|
|
|
|
+ free(le->channel->args_hashstr);
|
|
|
}
|
|
}
|
|
|
gpr_mu_unlock(&le->channel->mu);
|
|
gpr_mu_unlock(&le->channel->mu);
|
|
|
}
|
|
}
|