summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2013-04-15 13:35:05 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2013-04-15 13:35:05 +0000
commit6d0b7f6c41bed64419dd74a8daf83de5e9f54de9 (patch)
tree8ef8867f02fe1cd8a688692c6966b4ec4aa4ff61
parente865045ad1c5d8191097cda4bdd2e4cd634d1fa2 (diff)
downloadcompiler-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.cc6
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