]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw: add pipe fd to set for select() in do_curl_wait() 9785/head
authorCasey Bodley <cbodley@redhat.com>
Fri, 17 Jun 2016 02:51:54 +0000 (22:51 -0400)
committerCasey Bodley <cbodley@redhat.com>
Fri, 17 Jun 2016 16:37:42 +0000 (12:37 -0400)
commit75897f82abde818fde6e1625c6977dcdd639a1f0
treeab0b8a9bf6e7f1db1d26fbbeeebc4b8fd829720d
parentb8b339c10ae891f1842d1929700293596700dd81
rgw: add pipe fd to set for select() in do_curl_wait()

when HAVE_CURL_MULTI_WAIT is 0, the pipe fd is never added to the
readfds for select(), so FD_ISSET() is always false. this prevents us
from ever trying to read from the fd, and the pipe's buffer eventually
fills up and deadlocks callers of RGWHTTPManager::signal_thread() when
they try to write to the pipe

Fixes: http://tracker.ceph.com/issues/16368
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/rgw/rgw_http_client.cc