diff --git a/src/core/iomgr/pollset_multipoller_with_poll_posix.c b/src/core/iomgr/pollset_multipoller_with_poll_posix.c
index 06c7a5a0dd3302152b4df997fe47d6685af86de1..e482da94f7c3adaff43a1cf0d5533307ac0d61c0 100644
--- a/src/core/iomgr/pollset_multipoller_with_poll_posix.c
+++ b/src/core/iomgr/pollset_multipoller_with_poll_posix.c
@@ -166,7 +166,9 @@ static int multipoll_with_poll_pollset_maybe_work(
 
   r = poll(h->pfds, h->pfd_count, timeout);
   if (r < 0) {
-    gpr_log(GPR_ERROR, "poll() failed: %s", strerror(errno));
+    if (errno != EINTR) {
+      gpr_log(GPR_ERROR, "poll() failed: %s", strerror(errno));
+    }
   } else if (r == 0) {
     /* do nothing */
   } else {
diff --git a/src/core/iomgr/pollset_posix.c b/src/core/iomgr/pollset_posix.c
index ba4031e11f4eccb459cef9c2f9cebead8ff3447d..ff00e064291d41f37b3bedc7b7f80915b537988f 100644
--- a/src/core/iomgr/pollset_posix.c
+++ b/src/core/iomgr/pollset_posix.c
@@ -301,7 +301,9 @@ static int unary_poll_pollset_maybe_work(grpc_pollset *pollset,
 
   r = poll(pfd, GPR_ARRAY_SIZE(pfd), timeout);
   if (r < 0) {
-    gpr_log(GPR_ERROR, "poll() failed: %s", strerror(errno));
+    if (errno != EINTR) {
+      gpr_log(GPR_ERROR, "poll() failed: %s", strerror(errno));
+    }
   } else if (r == 0) {
     /* do nothing */
   } else {