From: Szabolcs Nagy Date: Thu, 23 Aug 2018 09:04:27 +0000 (+0000) Subject: fix setjmp test X-Git-Url: http://nsz.repo.hu/git/?p=libc-test;a=commitdiff_plain;h=426ecdcf9eb4ad136069c2db0d357d697a520f62 fix setjmp test sigprocmask has restrict qualified args so they should not alias. --- diff --git a/src/functional/setjmp.c b/src/functional/setjmp.c index adba1a6..7ba09d3 100644 --- a/src/functional/setjmp.c +++ b/src/functional/setjmp.c @@ -11,7 +11,7 @@ int main(void) jmp_buf jb; sigjmp_buf sjb; volatile sigset_t oldset; - sigset_t set; + sigset_t set, set2; if (!setjmp(jb)) { x = 1; @@ -29,8 +29,8 @@ int main(void) sigemptyset(&set); sigaddset(&set, SIGUSR1); - sigprocmask(SIG_UNBLOCK, &set, &set); - oldset = set; + sigprocmask(SIG_UNBLOCK, &set, &set2); + oldset = set2; /* Improve the chances of catching failure of sigsetjmp to * properly save the signal mask in the sigjmb_buf. */ @@ -43,13 +43,13 @@ int main(void) siglongjmp(sjb, 1); } set = oldset; - sigprocmask(SIG_SETMASK, &set, &set); - TEST(sigismember(&set, SIGUSR1)==0, "siglongjmp failed to restore mask\n"); + sigprocmask(SIG_SETMASK, &set, &set2); + TEST(sigismember(&set2, SIGUSR1)==0, "siglongjmp failed to restore mask\n"); sigemptyset(&set); sigaddset(&set, SIGUSR1); - sigprocmask(SIG_UNBLOCK, &set, &set); - oldset = set; + sigprocmask(SIG_UNBLOCK, &set, &set2); + oldset = set2; if (!sigsetjmp(sjb, 0)) { sigemptyset(&set); @@ -58,8 +58,8 @@ int main(void) siglongjmp(sjb, 1); } set = oldset; - sigprocmask(SIG_SETMASK, &set, &set); - TEST(sigismember(&set, SIGUSR1)==1, "siglongjmp incorrectly restored mask\n"); + sigprocmask(SIG_SETMASK, &set, &set2); + TEST(sigismember(&set2, SIGUSR1)==1, "siglongjmp incorrectly restored mask\n"); return t_status; }