/* $Id: signalhandler.cpp,v 1.5 2005/06/28 13:55:23 chfreund Exp $ */ #include "signalhandler.hpp" #include SignalHandler* SignalHandler::m_handler = 0; bool SignalHandler::m_signal = false; bool SignalHandler::m_quit = false; bool SignalHandler::m_pause = false; SignalHandler::SignalHandler() { signal( SIGINT , &SignalHandler::handler ); #ifndef WIN32 signal( SIGTSTP, &SignalHandler::handler ); #endif } SignalHandler* SignalHandler::getInstance() { if ( !m_handler ) { m_handler = new SignalHandler(); } return m_handler; } void SignalHandler::deleteInstance() { delete m_handler; m_handler = 0x0; } void SignalHandler::handler( const int sig ) { m_signal = true; switch( sig ) { case SIGINT: m_quit = true; break; #ifndef WIN32 case SIGTSTP: m_pause = !m_pause; break; #endif } }