Changeset 477 for library/tests/unittest-cpp/Posix/SignalTranslator.h
- Timestamp:
- 08/05/09 14:40:03 (15 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/tests/unittest-cpp/Posix/SignalTranslator.h
r418 r477 7 7 namespace UnitTest { 8 8 9 class SignalTranslator 10 { 9 class SignalTranslator { 11 10 public: 12 13 11 SignalTranslator(); 12 ~SignalTranslator(); 14 13 15 14 static sigjmp_buf* s_jumpTarget; 16 15 17 16 private: 18 19 17 sigjmp_buf m_currentJumpTarget; 18 sigjmp_buf* m_oldJumpTarget; 20 19 21 22 23 24 25 26 20 struct sigaction m_old_SIGFPE_action; 21 struct sigaction m_old_SIGTRAP_action; 22 struct sigaction m_old_SIGSEGV_action; 23 struct sigaction m_old_SIGBUS_action; 24 struct sigaction m_old_SIGABRT_action; 25 struct sigaction m_old_SIGALRM_action; 27 26 }; 28 27 29 28 #if !defined (__GNUC__) 30 29 #define UNITTEST_EXTENSION 31 30 #else 32 31 #define UNITTEST_EXTENSION __extension__ 33 32 #endif 34 33 … … 36 35 UnitTest::SignalTranslator sig; \ 37 36 if (UNITTEST_EXTENSION sigsetjmp(*UnitTest::SignalTranslator::s_jumpTarget, 1) != 0) \ 38 throw ("Unhandled system exception"); 37 throw ("Unhandled system exception"); 39 38 40 39 }