From bdf186e13258abd9c5fb932d84a7ea1e15c7d933 Mon Sep 17 00:00:00 2001 From: Prefetch Date: Tue, 18 Jul 2023 17:31:21 +0200 Subject: This test was basically a duplicate, remove it --- tests/test01.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'tests/test01.c') diff --git a/tests/test01.c b/tests/test01.c index 198dac7..4c7919c 100644 --- a/tests/test01.c +++ b/tests/test01.c @@ -1,9 +1,9 @@ -#include "linen.h" - #include #include -#include #include +#include + +#include "linen.h" #define NUM_THREADS 10 @@ -26,7 +26,8 @@ void* f(void* arg) { void main() { - printf("\x1B[1mTEST 01: threads print after random delay:\x1B[0m\n"); + printf("\x1B[1mTEST 01: threads print after random delay " + "while getting joined consecutively:\x1B[0m\n"); /* Thread handles and arguments */ linen_thread_t ts[NUM_THREADS]; @@ -47,6 +48,15 @@ void main() { } } - /* Wait for threads to finish */ - usleep(1200000); + /* Wait for each thread to finish in order, and print its argument. + * The first message only prints once thread #0 is done, and so on. */ + for (int i = 0; i < NUM_THREADS; i++) { + useconds_t* pd; + int r = linen_thread_finish(ts[i], (void**)&pd); + if (r) { + printf(" Failed to join thread #%d with error %d\n", i, r); + } else { + printf(" Thread #%d slept for %dms\n", i, *pd / 1000); + } + } } -- cgit v1.2.3