From e956efeaa60d0efaa1425218aeaf614f7ce40038 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Fri, 9 Sep 2016 15:58:50 -0400 Subject: [PATCH] rgw: factored clear_signal out of do_curl_wait Signed-off-by: Casey Bodley (cherry picked from commit f2f5cdf3aadfa265e2e834a9354c2aacf274212d) --- src/rgw/rgw_http_client.cc | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/rgw/rgw_http_client.cc b/src/rgw/rgw_http_client.cc index 52e0eec7a2a52..04ffd18a2feb2 100644 --- a/src/rgw/rgw_http_client.cc +++ b/src/rgw/rgw_http_client.cc @@ -344,6 +344,16 @@ RGWHTTPClient::~RGWHTTPClient() } +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) @@ -362,10 +372,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; } @@ -417,10 +425,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; } -- 2.39.5