diff options
author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2013-04-15 13:35:05 +0000 |
---|---|---|
committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2013-04-15 13:35:05 +0000 |
commit | 6d0b7f6c41bed64419dd74a8daf83de5e9f54de9 (patch) | |
tree | 8ef8867f02fe1cd8a688692c6966b4ec4aa4ff61 | |
parent | e865045ad1c5d8191097cda4bdd2e4cd634d1fa2 (diff) | |
download | compiler-rt-6d0b7f6c41bed64419dd74a8daf83de5e9f54de9.tar.gz |
[msan] Fix sigaction test.
Restore SIGPROF handler to the original state after the test.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@179524 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/msan/tests/msan_test.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/msan/tests/msan_test.cc b/lib/msan/tests/msan_test.cc index 6ab084968..855fa72bc 100644 --- a/lib/msan/tests/msan_test.cc +++ b/lib/msan/tests/msan_test.cc @@ -1011,6 +1011,10 @@ void SigactionHandler(int signo, siginfo_t* si, void* uc) { TEST(MemorySanitizer, sigaction) { struct sigaction act = {}; struct sigaction oldact = {}; + struct sigaction origact = {}; + + sigaction(SIGPROF, 0, &origact); + act.sa_flags |= SA_SIGINFO; act.sa_sigaction = &SigactionHandler; sigaction(SIGPROF, &act, 0); @@ -1041,6 +1045,8 @@ TEST(MemorySanitizer, sigaction) { EXPECT_TRUE(oldact.sa_flags & SA_SIGINFO); EXPECT_EQ(&SigactionHandler, oldact.sa_sigaction); EXPECT_EQ(2, cnt); + + sigaction(SIGPROF, &origact, 0); } } // namespace |