yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #01900
[Branch ~yade-dev/yade/trunk] Rev 1737: main: disable SIGHUP handler (emergency save) and automatic loading.
------------------------------------------------------------
revno: 1737
committer: Václav Šmilauer <vaclav@flux>
branch nick: trunk
timestamp: Wed 2009-08-26 11:09:33 +0200
message:
main: disable SIGHUP handler (emergency save) and automatic loading.
modified:
core/yade.cpp
--
lp:yade
https://code.launchpad.net/~yade-dev/yade/trunk
Your team Yade developers is subscribed to branch lp:yade.
To unsubscribe from this branch go to https://code.launchpad.net/~yade-dev/yade/trunk/+edit-subscription.
=== modified file 'core/yade.cpp'
--- core/yade.cpp 2009-08-23 06:48:29 +0000
+++ core/yade.cpp 2009-08-26 09:09:33 +0000
@@ -29,6 +29,8 @@
#include"FrontEnd.hpp"
#include"Preferences.hpp"
+// #define YADE_HUP_EMERGENCY_SAVE
+
using namespace std;
#ifdef YADE_LOG4CXX
@@ -85,6 +87,8 @@
raise(sig); // reemit signal after exiting gdb
break;
#endif
+
+ #ifdef YADE_HUP_EMERGENCY_SAVE
case SIGHUP:
signal(SIGHUP,SIG_DFL);
LOG_INFO("Received SIGHUP.");
@@ -96,6 +100,8 @@
} else LOG_INFO("Nothing to save.");
LOG_INFO("Emergency exit.");
exit(1);
+ #endif
+
}
}
@@ -113,18 +119,20 @@
IOFormatManager::saveToFile("XMLFormatManager",cfgFile,"preferences",pref);
}
-string findRecoveryCandidate(filesystem::path dir, string start){
-#if BOOST_VERSION > 103400
- if(!filesystem::exists(dir)) return false;
- filesystem::directory_iterator end;
- for(filesystem::directory_iterator I(dir); I!=end; ++I){
- if(filesystem::is_regular(I->status()) && I->path().leaf().find(start)==0 ){
- return (I->path()).string();
+#ifdef YADE_HUP_EMERGENCY_SAVE
+ string findRecoveryCandidate(filesystem::path dir, string start){
+ #if BOOST_VERSION > 103400
+ if(!filesystem::exists(dir)) return false;
+ filesystem::directory_iterator end;
+ for(filesystem::directory_iterator I(dir); I!=end; ++I){
+ if(filesystem::is_regular(I->status()) && I->path().leaf().find(start)==0 ){
+ return (I->path()).string();
+ }
}
+ #endif
+ return "";
}
#endif
- return "";
-}
void printHelp()
{
@@ -284,18 +292,20 @@
Omega::instance().initTemps();
Omega::instance().setSimulationFileName(simulationFileName); //init() resets to "";
- // recovery file pattern
- Omega::instance().recoveryFilename=(yadeConfigPath/"recovery-pid").string()+lexical_cast<string>(getpid())+".xml";
- signal(SIGHUP,sigHandler);
+ #ifdef YADE_HUP_EMERGENCY_SAVE
+ // recovery file pattern
+ Omega::instance().recoveryFilename=(yadeConfigPath/"recovery-pid").string()+lexical_cast<string>(getpid())+".xml";
+ signal(SIGHUP,sigHandler);
- string recoveryCandidate=findRecoveryCandidate(/* directory */ yadeConfigPath, /* beginning of the filename */ "recovery-pid");
- if(!recoveryCandidate.empty()){
- if(!simulationFileName.empty()) LOG_WARN("Skipping recovery of `"<<recoveryCandidate<<"', since the file `"<<simulationFileName<<"' was given on the command-line.")
- else {
- LOG_INFO("Will recover simulation from `"<<recoveryCandidate<<"'.");
- Omega::instance().setSimulationFileName(recoveryCandidate);
+ string recoveryCandidate=findRecoveryCandidate(/* directory */ yadeConfigPath, /* beginning of the filename */ "recovery-pid");
+ if(!recoveryCandidate.empty()){
+ if(!simulationFileName.empty()) LOG_WARN("Skipping recovery of `"<<recoveryCandidate<<"', since the file `"<<simulationFileName<<"' was given on the command-line.")
+ else {
+ LOG_INFO("Will recover simulation from `"<<recoveryCandidate<<"'.");
+ Omega::instance().setSimulationFileName(recoveryCandidate);
+ }
}
- }
+ #endif
// handle this a little more inteligently, use FrontEnd::available to chec kif the GUI will really run (QtGUi without DISPLAY and similar)
if(gui.size()==0) gui=Omega::instance().preferences->defaultGUILibName;