diff --git a/src/core/lib/iomgr/wakeup_fd_eventfd.c b/src/core/lib/iomgr/wakeup_fd_eventfd.c
index 3ece30adf608570881f7eeb180230ca9fa2da0a3..667b4a5f901b933bc5d1f20d08bc2d3d39456565 100644
--- a/src/core/lib/iomgr/wakeup_fd_eventfd.c
+++ b/src/core/lib/iomgr/wakeup_fd_eventfd.c
@@ -60,7 +60,7 @@ static grpc_error* eventfd_consume(grpc_wakeup_fd* fd_info) {
   do {
     err = eventfd_read(fd_info->read_fd, &value);
   } while (err < 0 && errno == EINTR);
-  if (err < 0) {
+  if (err < 0 && errno != EAGAIN) {
     return GRPC_OS_ERROR(errno, "eventfd_read");
   }
   return GRPC_ERROR_NONE;