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 | b0d786798ce74c23f02b810dc2403a6f74ad8e3c (patch) | |
| tree | 87126f6531007a00cdb62ad7323a93dee179a1ee | |
| parent | 5bddd6a92a0e8f1f72c658529e808c24ae864e23 (diff) | |
| download | bcm5719-llvm-b0d786798ce74c23f02b810dc2403a6f74ad8e3c.tar.gz bcm5719-llvm-b0d786798ce74c23f02b810dc2403a6f74ad8e3c.zip | |
[msan] Fix sigaction test.
Restore SIGPROF handler to the original state after the test.
llvm-svn: 179524
| -rw-r--r-- | compiler-rt/lib/msan/tests/msan_test.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler-rt/lib/msan/tests/msan_test.cc b/compiler-rt/lib/msan/tests/msan_test.cc index 6ab08496824..855fa72bc07 100644 --- a/compiler-rt/lib/msan/tests/msan_test.cc +++ b/compiler-rt/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 |

