From: Bobby Bingham Date: Fri, 10 Nov 2017 20:59:01 +0000 (-0600) Subject: test sigsetjmp with savesigs=0 X-Git-Url: http://nsz.repo.hu/git/?p=libc-test;a=commitdiff_plain;h=cc36e56b44b013b25a5bea2f9cda309976058dba test sigsetjmp with savesigs=0 --- diff --git a/src/functional/setjmp.c b/src/functional/setjmp.c index 0a9e4e6..adba1a6 100644 --- a/src/functional/setjmp.c +++ b/src/functional/setjmp.c @@ -46,5 +46,20 @@ int main(void) sigprocmask(SIG_SETMASK, &set, &set); TEST(sigismember(&set, SIGUSR1)==0, "siglongjmp failed to restore mask\n"); + sigemptyset(&set); + sigaddset(&set, SIGUSR1); + sigprocmask(SIG_UNBLOCK, &set, &set); + oldset = set; + + if (!sigsetjmp(sjb, 0)) { + sigemptyset(&set); + sigaddset(&set, SIGUSR1); + sigprocmask(SIG_BLOCK, &set, 0); + siglongjmp(sjb, 1); + } + set = oldset; + sigprocmask(SIG_SETMASK, &set, &set); + TEST(sigismember(&set, SIGUSR1)==1, "siglongjmp incorrectly restored mask\n"); + return t_status; }