- #include "SignalTranslator.h" 
-   
- namespace UnitTest { 
-   
-    sigjmp_buf* SignalTranslator::s_jumpTarget = 0; 
-   
-    namespace { 
-   
-       void SignalHandler(int sig) 
-       { 
-          siglongjmp(*SignalTranslator::s_jumpTarget, sig ); 
-       } 
-   
-    } 
-   
-   
-    SignalTranslator::SignalTranslator() 
-    { 
-       m_oldJumpTarget = s_jumpTarget; 
-       s_jumpTarget = &m_currentJumpTarget; 
-   
-       struct sigaction action; 
-       action.sa_flags = 0; 
-       action.sa_handler = SignalHandler; 
-       sigemptyset( &action.sa_mask ); 
-   
-       sigaction( SIGSEGV, &action, &m_old_SIGSEGV_action ); 
-       sigaction( SIGFPE, &action, &m_old_SIGFPE_action  ); 
-       sigaction( SIGTRAP, &action, &m_old_SIGTRAP_action ); 
-       sigaction( SIGBUS, &action, &m_old_SIGBUS_action  ); 
-       sigaction( SIGILL, &action, &m_old_SIGILL_action  ); 
-    } 
-   
-    SignalTranslator::~SignalTranslator() 
-    { 
-       sigaction( SIGILL, &m_old_SIGILL_action, 0 ); 
-       sigaction( SIGBUS, &m_old_SIGBUS_action, 0 ); 
-       sigaction( SIGTRAP, &m_old_SIGTRAP_action, 0 ); 
-       sigaction( SIGFPE, &m_old_SIGFPE_action, 0 ); 
-       sigaction( SIGSEGV, &m_old_SIGSEGV_action, 0 ); 
-   
-       s_jumpTarget = m_oldJumpTarget; 
-    } 
-   
-   
- } 
-