aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/channel/client_channel.c
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2015-05-13 12:48:36 -0700
committerGravatar Craig Tiller <ctiller@google.com>2015-05-13 12:48:36 -0700
commit6e51180b984c42f0b00516a6609d1d90e183b9b9 (patch)
tree16cf3f5eb3e0a3e98a0cc79b403d01374c0d3e82 /src/core/channel/client_channel.c
parent6f05140a2680130e32220f3bf47b61f9b4760b11 (diff)
Properly manage interest set for waiting calls
Diffstat (limited to 'src/core/channel/client_channel.c')
-rw-r--r--src/core/channel/client_channel.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/channel/client_channel.c b/src/core/channel/client_channel.c
index 26b6841f24..9f23ed3d71 100644
--- a/src/core/channel/client_channel.c
+++ b/src/core/channel/client_channel.c
@@ -132,9 +132,11 @@ static void remove_waiting_child(channel_data *chand, call_data *calld) {
size_t new_count;
size_t i;
for (i = 0, new_count = 0; i < chand->waiting_child_count; i++) {
- if (chand->waiting_children[i] == calld) continue;
+ if (chand->waiting_children[i] == calld) {
+ grpc_transport_setup_del_interested_party(chand->transport_setup, calld->s.waiting_op.bind_pollset);
+ continue;
+ }
chand->waiting_children[new_count++] = chand->waiting_children[i];
- abort(); /* what to do about waiting_pollsets */
}
GPR_ASSERT(new_count == chand->waiting_child_count - 1 ||
new_count == chand->waiting_child_count);