diff options
author | 2015-05-13 12:48:36 -0700 | |
---|---|---|
committer | 2015-05-13 12:48:36 -0700 | |
commit | 6e51180b984c42f0b00516a6609d1d90e183b9b9 (patch) | |
tree | 16cf3f5eb3e0a3e98a0cc79b403d01374c0d3e82 /src/core/channel/client_channel.c | |
parent | 6f05140a2680130e32220f3bf47b61f9b4760b11 (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.c | 6 |
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); |