From: Torvald Riegel Date: Tue, 29 Jul 2014 19:44:58 +0000 (+0200) Subject: Fix nptl/tst-sem4: always start with a fresh semaphore. X-Git-Tag: glibc-2.21~228 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=045a6bcdd2d9c5c83f01171775998ef3104eb10f;p=thirdparty%2Fglibc.git Fix nptl/tst-sem4: always start with a fresh semaphore. --- 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);