From d72b1fa5cd9bfb12d3d8aa844d6754cc49d92087 Mon Sep 17 00:00:00 2001 From: Artem Boldariev Date: Thu, 5 Aug 2021 12:42:40 +0300 Subject: [PATCH] Fix the doh_recv_send() logic in the doh_test The commit fixes the doh_recv_send() because occasionally it would fail because it did not wait for all responses to be sent, making the check for ssends value to nit pass. --- lib/isc/tests/doh_test.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/isc/tests/doh_test.c b/lib/isc/tests/doh_test.c index e4f59ce7fd..4f5c464e0a 100644 --- a/lib/isc/tests/doh_test.c +++ b/lib/isc/tests/doh_test.c @@ -1075,6 +1075,14 @@ doh_recv_send(void **state) { isc_thread_create(doh_connect_thread, connect_nm, &threads[i]); } + /* wait for the all responses from the server */ + while (atomic_load(&ssends) < atomic_load(&total_sends)) { + if (atomic_load(&was_error)) { + break; + } + isc_test_nap(100); + } + for (size_t i = 0; i < nthreads; i++) { isc_thread_join(threads[i], NULL); }