From 045a6bcdd2d9c5c83f01171775998ef3104eb10f Mon Sep 17 00:00:00 2001 From: Torvald Riegel Date: Tue, 29 Jul 2014 21:44:58 +0200 Subject: [PATCH] Fix nptl/tst-sem4: always start with a fresh semaphore. --- ChangeLog | 4 ++++ nptl/tst-sem4.c | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 07aca34dd07..420ce230401 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2014-12-15 Torvald Riegel + + * nptl/tst-sem4.c (do_test): Start with a fresh semaphore state. + 2014-12-15 Torvald Riegel * nptl/tst-mutex5.c (do_test): Do not skip tests if elision is enabled. diff --git a/nptl/tst-sem4.c b/nptl/tst-sem4.c index 72ed97d3701..cf9ef2781ef 100644 --- a/nptl/tst-sem4.c +++ b/nptl/tst-sem4.c @@ -39,6 +39,12 @@ do_test (void) pid_t pid; int val; + /* Start with a clean slate and register a clean-up action. No need to + act if sem_unlink fails because we will catch the same problem during the + sem_open below. */ + sem_unlink ("/glibc-tst-sem4"); + on_exit (remove_sem, (void *) "/glibc-tst-sem4"); + s = sem_open ("/glibc-tst-sem4", O_CREAT, 0600, 1); if (s == SEM_FAILED) { @@ -59,8 +65,6 @@ do_test (void) return 1; } - on_exit (remove_sem, (void *) "/glibc-tst-sem4"); - /* We have the semaphore object. Now try again with O_EXCL, this should fail. */ s2 = sem_open ("/glibc-tst-sem4", O_CREAT | O_EXCL, 0600, 1); -- 2.47.2