Conversation
|
this made it through teuthology with no new failures: http://pulpito.ceph.com/cbodley-2016-09-02_15:45:38-rgw-wip-16695---basic-mira |
|
this means we do a read every time do_curl_wait is called, correct? |
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
tested and verified using unittest_http_manager and an old version of libcurl 7.29 located at /home/cbodley/local-curl/lib/libcurl.so when run against master, the bug leads to deadlock: when run against this branch, the bug is detected and the workaround avoids deadlock: and with my system's libcurl 7.43, the workaround is not applied and the test passes normally: |
src/rgw/rgw_http_client.cc
Outdated
| static int clear_signal(int fd) | ||
| { | ||
| uint32_t buf; | ||
| int ret = ::read(fd, &buf, sizeof(buf)); |
There was a problem hiding this comment.
@cbodley need to cast to void * like we had originally? might be that needed for clearing a warning
|
@cbodley see my comments, otherwise lgtm |
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Fixes: http://tracker.ceph.com/issues/15915 Fixes: http://tracker.ceph.com/issues/16695 Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
@yehudasa thanks for the feedback, updated |
Fixes: http://tracker.ceph.com/issues/15915
Fixes: http://tracker.ceph.com/issues/16695
Signed-off-by: Casey Bodley cbodley@redhat.com