From: Casey Bodley Date: Fri, 9 Sep 2016 19:58:50 +0000 (-0400) Subject: rgw: factored clear_signal out of do_curl_wait X-Git-Tag: v11.0.1~242^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f2f5cdf3aadfa265e2e834a9354c2aacf274212d;p=ceph.git rgw: factored clear_signal out of do_curl_wait Signed-off-by: Casey Bodley --- diff --git a/src/rgw/rgw_http_client.cc b/src/rgw/rgw_http_client.cc index 60fe615f3071..97e146b78dbb 100644 --- a/src/rgw/rgw_http_client.cc +++ b/src/rgw/rgw_http_client.cc @@ -418,6 +418,16 @@ int RGWHTTPTransceiver::send_data(void* ptr, size_t len) } +static int clear_signal(int fd) +{ + uint32_t buf; + int ret = ::read(fd, (void *)&buf, sizeof(buf)); + if (ret < 0) { + return -errno; + } + return 0; +} + #if HAVE_CURL_MULTI_WAIT static int do_curl_wait(CephContext *cct, CURLM *handle, int signal_fd) @@ -436,10 +446,8 @@ static int do_curl_wait(CephContext *cct, CURLM *handle, int signal_fd) } if (wait_fd.revents > 0) { - uint32_t buf; - ret = read(signal_fd, (void *)&buf, sizeof(buf)); + ret = clear_signal(signal_fd); if (ret < 0) { - ret = -errno; ldout(cct, 0) << "ERROR: " << __func__ << "(): read() returned " << ret << dendl; return ret; } @@ -491,10 +499,8 @@ static int do_curl_wait(CephContext *cct, CURLM *handle, int signal_fd) } if (signal_fd > 0 && FD_ISSET(signal_fd, &fdread)) { - uint32_t buf; - ret = read(signal_fd, (void *)&buf, sizeof(buf)); + ret = clear_signal(signal_fd); if (ret < 0) { - ret = -errno; ldout(cct, 0) << "ERROR: " << __func__ << "(): read() returned " << ret << dendl; return ret; }