diff options
author | Frank Ch. Eigler <fche@redhat.com> | 2021-05-14 18:37:30 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@redhat.com> | 2021-05-16 17:51:16 -0400 |
commit | 0b454c7e1997b5500bd3fa022370338819848f8b (patch) | |
tree | 4faa2dafe3a8091e9f6d8697d56d8b1db60fcc5a /tests/ChangeLog | |
parent | 940b0e7d304459e270ae518d067b40fd82c5caca (diff) | |
download | elfutils-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 'tests/ChangeLog')
-rw-r--r-- | tests/ChangeLog | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog index 4951e14f..38e92659 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,9 @@ +2021-05-14 Frank Ch. Eigler <fche@redhat.com> + + PR27859 + * run-debuginfod-find.sh: Test absence of 404-latch bug in client + curl handle reuse. + 2021-04-19 Martin Liska <mliska@suse.cz> * dwelf_elf_e_machine_string.c (main): Use startswith. |