aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/iomgr/ev_epoll1_linux.cc
diff options
context:
space:
mode:
authorGravatar Yash Tibrewal <yashkt@google.com>2018-07-26 14:57:22 -0700
committerGravatar Yash Tibrewal <yashkt@google.com>2018-07-26 14:57:22 -0700
commit35925d5863eb820df2ac4e87a607a810e6bd83ab (patch)
tree1c3cc89a75dfd0002c0f2a004870644c983dae15 /src/core/lib/iomgr/ev_epoll1_linux.cc
parentd81fa7d6ece3c007e9c1f213de181c1a2aae3c1c (diff)
Add API to grpc event engines to forcibly set underlying fd to be readable/writable/errored
Diffstat (limited to 'src/core/lib/iomgr/ev_epoll1_linux.cc')
-rw-r--r--src/core/lib/iomgr/ev_epoll1_linux.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/lib/iomgr/ev_epoll1_linux.cc b/src/core/lib/iomgr/ev_epoll1_linux.cc
index 86a0243d2e..d1ea67c3dd 100644
--- a/src/core/lib/iomgr/ev_epoll1_linux.cc
+++ b/src/core/lib/iomgr/ev_epoll1_linux.cc
@@ -397,6 +397,12 @@ static void fd_notify_on_error(grpc_fd* fd, grpc_closure* closure) {
fd->error_closure->NotifyOn(closure);
}
+static void fd_set_readable(grpc_fd* fd) { fd->read_closure->SetReady(); }
+
+static void fd_set_writable(grpc_fd* fd) { fd->write_closure->SetReady(); }
+
+static void fd_set_error(grpc_fd* fd) { fd->error_closure->SetReady(); }
+
static void fd_become_readable(grpc_fd* fd, grpc_pollset* notifier) {
fd->read_closure->SetReady();
/* Use release store to match with acquire load in fd_get_read_notifier */
@@ -1217,6 +1223,9 @@ static const grpc_event_engine_vtable vtable = {
fd_notify_on_read,
fd_notify_on_write,
fd_notify_on_error,
+ fd_set_readable,
+ fd_set_writable,
+ fd_set_error,
fd_is_shutdown,
fd_get_read_notifier_pollset,