summaryrefslogtreecommitdiff
path: root/po
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@redhat.com>2021-05-14 18:37:30 -0400
committerFrank Ch. Eigler <fche@redhat.com>2021-05-16 17:51:16 -0400
commit0b454c7e1997b5500bd3fa022370338819848f8b (patch)
tree4faa2dafe3a8091e9f6d8697d56d8b1db60fcc5a /po
parent940b0e7d304459e270ae518d067b40fd82c5caca (diff)
downloadelfutils-0b454c7e1997b5500bd3fa022370338819848f8b.tar.gz
PR27859: correct 404-latch bug in debuginfod client reuse
PR27701 implemented curl handle reuse in debuginfod_client objects, but with an unexpected bug. Server responses returning an error "latched" because the curl_easy handles for error cases weren't all systematically removed from the curl multi handle. This prevented their proper re-addition the next time. This version of the code simplfies matters by making only the curl curl_multi handle long-lived. This turns out to be enough, because it can maintain a pool of long-lived http/https connections and related data, and lend them out to short-lived curl_easy handles. This mode handles errors or hung downloads even better, because the easy handles don't undergo complex state transitions between reuse. A new test case confirms this correction via the federating debuginfod instance (cleaning caches between subtests to make sure http* is being used and reused). Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
Diffstat (limited to 'po')
0 files changed, 0 insertions, 0 deletions