[Bug,debuginfod/28249] httpd-buildid-after-you gadget locks on wrong url
Commit Message
https://sourceware.org/bugzilla/show_bug.cgi?id=28249
Frank Ch. Eigler <fche at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #1 from Frank Ch. Eigler <fche at redhat dot com> ---
merging obvious patch:
commit 89b1a4e8793e0379e386da313c1bd90080390877 (HEAD -> master)
Author: Frank Ch. Eigler <fche@redhat.com>
Date: Thu Aug 19 13:11:11 2021 -0400
PR28249: correct debuginfod after-you locking
The initial code for bug #27673 accidentally nuked all buildid service
concurrency, not just identical concurrent requests. Correct this
with one-liner patch. Observing the effect in the automated testsuite
is difficult, so hand-tested against large requests and short ones,
run in an interleaved way.
Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
@@ -2141,7 +2141,7 @@ handler_cb (void * /*cls*/,
struct timespec tsay_start, tsay_end;
clock_gettime (CLOCK_MONOTONIC, &tsay_start);
static unique_set<string> busy_urls;
- unique_set_reserver<string> after_you(busy_urls, url1);
+ unique_set_reserver<string> after_you(busy_urls, url_copy);
clock_gettime (CLOCK_MONOTONIC, &tsay_end);
afteryou = (tsay_end.tv_sec - tsay_start.tv_sec) + (tsay_end.tv_nsec
- tsay_start.tv_nsec)/1.e9;
add_metric ("thread_busy", "role", "http-buildid-after-you", -1);