debuginfod: Query debuginfod servers before printing response
authorNoah Sanci <nsanci@redhat.com>
Fri, 17 Sep 2021 14:45:39 +0000 (10:45 -0400)
committerNoah Sanci <nsanci@redhat.com>
Fri, 17 Sep 2021 14:52:43 +0000 (10:52 -0400)
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 <nsanci@redhat.com>
debuginfod/ChangeLog
debuginfod/debuginfod-client.c

index e2e6c5f..c2bfce9 100644 (file)
@@ -1,3 +1,8 @@
+2021-09-17  Noah Sanci  <nsanci@redhat.com>
+
+       * debuginfod-client.c (debuginfod_query_server): curl_multi_perform
+       now occurs before checking if response headers have arrived.
+
 2021-09-14  Frank Ch. Eigler <fche@redhat.com>
 
        PRPR28339
index 4d5dbd9..88e4556 100644 (file)
@@ -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)