From: Noah Sanci Date: Fri, 17 Sep 2021 14:45:39 +0000 (-0400) Subject: debuginfod: Query debuginfod servers before printing response X-Git-Tag: elfutils-0.186~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8626a4786c1e79e1b4891ea31966bc124e029378;p=thirdparty%2Felfutils.git debuginfod: Query debuginfod servers before printing response While checking PR27277 on some buildbots, greping would fail in run-debuginfod-response-headers.sh. This was because querying the debuginfod server occurs after checking if the responseh headers had arrived, leaving the possibility to leave the querying loop before outputting the headers which caused the grep failure. Querying now occurs before checking if response headers have arrived, so that they will certainly be printed and grep will find them. Signed-off-by: Noah Sanci --- diff --git a/debuginfod/ChangeLog b/debuginfod/ChangeLog index e2e6c5f80..c2bfce98f 100644 --- a/debuginfod/ChangeLog +++ b/debuginfod/ChangeLog @@ -1,3 +1,8 @@ +2021-09-17 Noah Sanci + + * debuginfod-client.c (debuginfod_query_server): curl_multi_perform + now occurs before checking if response headers have arrived. + 2021-09-14 Frank Ch. Eigler PRPR28339 diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c index 4d5dbd95b..88e45567d 100644 --- a/debuginfod/debuginfod-client.c +++ b/debuginfod/debuginfod-client.c @@ -1046,6 +1046,7 @@ debuginfod_query_server (debuginfod_client *c, } /* Wait 1 second, the minimum DEBUGINFOD_TIMEOUT. */ curl_multi_wait(curlm, NULL, 0, 1000, NULL); + CURLMcode curlm_res = curl_multi_perform(curlm, &still_running); /* If the target file has been found, abort the other queries. */ if (target_handle != NULL) @@ -1077,7 +1078,6 @@ debuginfod_query_server (debuginfod_client *c, verbose_reported = true; } - CURLMcode curlm_res = curl_multi_perform(curlm, &still_running); if (curlm_res != CURLM_OK) { switch (curlm_res)