aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/transport
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/transport
parent6f05140a2680130e32220f3bf47b61f9b4760b11 (diff)
Properly manage interest set for waiting calls
Diffstat (limited to 'src/core/transport')
-rw-r--r--src/core/transport/transport.c4
-rw-r--r--src/core/transport/transport.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/core/transport/transport.c b/src/core/transport/transport.c
index 0bceeabcc3..b81950d303 100644
--- a/src/core/transport/transport.c
+++ b/src/core/transport/transport.c
@@ -90,6 +90,10 @@ void grpc_transport_setup_add_interested_party(grpc_transport_setup *setup, grpc
setup->vtable->add_interested_party(setup, pollset);
}
+void grpc_transport_setup_del_interested_party(grpc_transport_setup *setup, grpc_pollset *pollset) {
+ setup->vtable->del_interested_party(setup, pollset);
+}
+
void grpc_transport_op_finish_with_failure(grpc_transport_op *op) {
if (op->send_ops) {
op->on_done_send(op->send_user_data, 0);
diff --git a/src/core/transport/transport.h b/src/core/transport/transport.h
index 5303cbee7d..4dcd4467e3 100644
--- a/src/core/transport/transport.h
+++ b/src/core/transport/transport.h
@@ -196,6 +196,7 @@ typedef struct grpc_transport_setup_vtable grpc_transport_setup_vtable;
struct grpc_transport_setup_vtable {
void (*initiate)(grpc_transport_setup *setup);
void (*add_interested_party)(grpc_transport_setup *setup, grpc_pollset *pollset);
+ void (*del_interested_party)(grpc_transport_setup *setup, grpc_pollset *pollset);
void (*cancel)(grpc_transport_setup *setup);
};
@@ -214,6 +215,7 @@ struct grpc_transport_setup {
void grpc_transport_setup_initiate(grpc_transport_setup *setup);
void grpc_transport_setup_add_interested_party(grpc_transport_setup *setup, grpc_pollset *pollset);
+void grpc_transport_setup_del_interested_party(grpc_transport_setup *setup, grpc_pollset *pollset);
/* Cancel transport setup. After this returns, no new transports should be
created, and all pending transport setup callbacks should be completed.