From 6fa3e38e5c26820396d11a5a155fc83790d17c72 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Mon, 17 Feb 2020 14:15:02 -0500 Subject: Restore SIGILL handler if sigprocmask fails We've never encountered this case, but better safe then sorry. --- sha_simd.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sha_simd.cpp') diff --git a/sha_simd.cpp b/sha_simd.cpp index 419e183b..277c9362 100644 --- a/sha_simd.cpp +++ b/sha_simd.cpp @@ -113,7 +113,10 @@ bool CPU_ProbeSHA1() volatile sigset_t oldMask; if (sigprocmask(0, NULLPTR, (sigset_t*)&oldMask)) + { + signal(SIGILL, oldHandler); return false; + } if (setjmp(s_jmpSIGILL)) result = false; @@ -180,7 +183,10 @@ bool CPU_ProbeSHA256() volatile sigset_t oldMask; if (sigprocmask(0, NULLPTR, (sigset_t*)&oldMask)) + { + signal(SIGILL, oldHandler); return false; + } if (setjmp(s_jmpSIGILL)) result = false; -- cgit v1.2.1