From 08d80157500f7116f9f273442c5d544feffbfd74 Mon Sep 17 00:00:00 2001 From: herman ten brugge Date: Tue, 10 Nov 2020 10:08:30 +0100 Subject: [PATCH] Fix fork problem 114_bound_signal There is a race condition in old libc in fork(). The result was that 'end' was sometimes printed twice. This did not happen with glibc-2.32. --- tests/tests2/114_bound_signal.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/tests2/114_bound_signal.c b/tests/tests2/114_bound_signal.c index e3151119..d11b1461 100644 --- a/tests/tests2/114_bound_signal.c +++ b/tests/tests2/114_bound_signal.c @@ -116,8 +116,6 @@ main (void) while (time(NULL) < end) ; run = 0; - printf ("end\n"); fflush(stdout); - pthread_join(id1, NULL); pthread_join(id2, NULL); #if !defined(__APPLE__) @@ -126,6 +124,8 @@ main (void) sem_destroy (&sem); sem_destroy (&sem_child); + printf ("end\n"); fflush(stdout); + sigemptyset (&m); sigprocmask (SIG_SETMASK, &m, NULL); if (sigsetjmp (sj, 0) == 0)