From: Yehuda Sadeh Date: Tue, 12 Mar 2013 19:56:01 +0000 (-0700) Subject: rgw: set up curl with CURL_NOSIGNAL X-Git-Tag: v0.59~16 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=88725316ddcfa02ff110e659f7a8131dc1ea2cfc;p=ceph.git rgw: set up curl with CURL_NOSIGNAL Fixes: #4425 Backport: bobtail Apparently, libcurl needs that in order to be thread safe. Side effect is that if libcurl is not compiled with c-ares support, domain name lookups are not going to time out. Issue affected keystone. Signed-off-by: Yehuda Sadeh Reviewed-by: Greg Farnum --- diff --git a/src/rgw/rgw_http_client.cc b/src/rgw/rgw_http_client.cc index 4c7b99c17c33..f9e5a8260fc7 100644 --- a/src/rgw/rgw_http_client.cc +++ b/src/rgw/rgw_http_client.cc @@ -54,6 +54,7 @@ int RGWHTTPClient::process(const string& url) curl_easy_setopt(curl_handle, CURLOPT_URL, url.c_str()); curl_easy_setopt(curl_handle, CURLOPT_NOPROGRESS, 1L); + curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1L); curl_easy_setopt(curl_handle, CURLOPT_HEADERFUNCTION, read_http_header); curl_easy_setopt(curl_handle, CURLOPT_WRITEHEADER, (void *)this); curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, read_http_data);