EvolvingObjects
|
00001 // -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- 00002 00003 //----------------------------------------------------------------------------- 00004 // eoCtrlCContinue.cpp 00005 // (c) EEAAX 1996 - GeNeura Team, 1998 - Maarten Keijzer 2000 00006 /* 00007 This library is free software; you can redistribute it and/or 00008 modify it under the terms of the GNU Lesser General Public 00009 License as published by the Free Software Foundation; either 00010 version 2 of the License, or (at your option) any later version. 00011 00012 This library is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 Lesser General Public License for more details. 00016 00017 You should have received a copy of the GNU Lesser General Public 00018 License along with this library; if not, write to the Free Software 00019 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00020 00021 Contact: todos@geneura.ugr.es, http://geneura.ugr.es 00022 Marc.Schoenauer@polytechnique.fr 00023 mak@dhi.dk 00024 */ 00025 //----------------------------------------------------------------------------- 00026 #ifdef _MSC_VER 00027 // to avoid long name warnings 00028 #pragma warning(disable:4786) 00029 #endif 00030 00031 #include <utils/eoLogger.h> 00032 00033 #include <signal.h> 00034 #include <iostream> 00035 00041 // --- Global variables - but don't know what else to do - MS --- 00042 bool ask_for_stop = false; 00043 bool existCtrlCContinue = false; 00044 00045 // 00046 // The signal handler - installed in the eoCtrlCContinue Ctor 00047 // 00048 void signal_handler( int sig ) 00049 // --------------------------- 00050 { 00051 // --- On veut la paix, jusqu'a la fin --- 00052 #ifndef _WINDOWS 00053 #ifdef SIGQUIT 00054 signal( SIGINT, SIG_IGN ); 00055 signal( SIGQUIT, SIG_IGN ); 00056 eo::log << eo::logging << "Ctrl C entered ... closing down" << std::endl ; 00057 ask_for_stop = true; 00058 #endif 00059 #endif 00060 } 00061