From: Stig Telfer Date: Sat, 10 Nov 2018 21:01:53 +0000 (+0100) Subject: msg/async/rdma: retry if poll() returns EINTR X-Git-Tag: v14.1.0~54^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=6a9f944ab3fde77f6e3984c84f765eec249b15e0;p=ceph.git msg/async/rdma: retry if poll() returns EINTR Fixes: https://tracker.ceph.com/issues/37292 Signed-off-by: Stig Telfer --- diff --git a/src/msg/async/rdma/RDMAStack.cc b/src/msg/async/rdma/RDMAStack.cc index d8e2a4957cb3b..f63a8e7d1f2b4 100644 --- a/src/msg/async/rdma/RDMAStack.cc +++ b/src/msg/async/rdma/RDMAStack.cc @@ -15,6 +15,7 @@ */ #include +#include #include #include @@ -284,7 +285,7 @@ void RDMADispatcher::polling() r = 0; perf_logger->set(l_msgr_rdma_polling, 0); while (!done && r == 0) { - r = poll(channel_poll, 2, 100); + r = TEMP_FAILURE_RETRY(poll(channel_poll, 2, 100)); if (r < 0) { r = -errno; lderr(cct) << __func__ << " poll failed " << r << dendl;