Fathom TCP level changes. TracedBuffer for keeping track of all buffers
to be traced. Adding tests for Fathom and TracedBuffer. A lot more.
Please read PR description.
diff --git a/src/core/lib/iomgr/ev_epollsig_linux.cc b/src/core/lib/iomgr/ev_epollsig_linux.cc
index 2189801..7bdfa22 100644
--- a/src/core/lib/iomgr/ev_epollsig_linux.cc
+++ b/src/core/lib/iomgr/ev_epollsig_linux.cc
@@ -947,15 +947,27 @@
}
static void fd_notify_on_read(grpc_fd* fd, grpc_closure* closure) {
- fd->read_closure->NotifyOn(closure);
+ if (closure != nullptr) {
+ fd->read_closure->NotifyOn(closure);
+ } else {
+ fd->read_closure->SetReady();
+ }
}
static void fd_notify_on_write(grpc_fd* fd, grpc_closure* closure) {
- fd->write_closure->NotifyOn(closure);
+ if (closure != nullptr) {
+ fd->write_closure->NotifyOn(closure);
+ } else {
+ fd->write_closure->SetReady();
+ }
}
static void fd_notify_on_error(grpc_fd* fd, grpc_closure* closure) {
- fd->error_closure->NotifyOn(closure);
+ if (closure != nullptr) {
+ fd->error_closure->NotifyOn(closure);
+ } else {
+ fd->error_closure->SetReady();
+ }
}
/*******************************************************************************