diff options
author | swhite <swhite@e5a5a894-0e4f-0410-be11-d22c8b0a171a> | 2006-04-26 14:49:06 +0000 |
---|---|---|
committer | swhite <swhite@e5a5a894-0e4f-0410-be11-d22c8b0a171a> | 2006-04-26 14:49:06 +0000 |
commit | d69c71d3983cee0cfd3793734a5c9fa8b1391b21 (patch) | |
tree | a00610f272508fd476741c884b9b2ccc16f210f0 /src/ManualTerminationFile.c | |
parent | 30eb89d539b87ded1d82298c43f205b5a3b4837e (diff) |
Christian's TriggerTerminationManual, renamed and expanded
git-svn-id: http://svn.aei.mpg.de/numrel/AEIThorns/ManualTermination/trunk@2 e5a5a894-0e4f-0410-be11-d22c8b0a171a
Diffstat (limited to 'src/ManualTerminationFile.c')
-rw-r--r-- | src/ManualTerminationFile.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/ManualTerminationFile.c b/src/ManualTerminationFile.c new file mode 100644 index 0000000..342ac3f --- /dev/null +++ b/src/ManualTerminationFile.c @@ -0,0 +1,48 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Parameters.h" +#include "cctk_Termination.h" +#include "cctk_Timers.h" +#include "ManualTermination.h" + + +int ManualTerminationFile (CCTK_ARGUMENTS) +{ + int retval = 0, terminate; + FILE *terminationfile; + + DECLARE_CCTK_PARAMETERS; + + /* only one processor needs to query the elapsed runtime */ + if (CCTK_MyProc (cctkGH) != 0) + { + return (0); + } + + if ( ((cctkGH->cctk_iteration-1) % check_file_every*1.0e0) != 0) + { + return(0); + } + + terminationfile = fopen(MT_get_terminate_filename(NULL),"r"); + + if(terminationfile!=NULL) + { + terminate=0; + fscanf(terminationfile,"%d",&terminate); + fclose(terminationfile); + + if (terminate==1) + { + CCTK_VInfo (CCTK_THORNSTRING, "OH MY GOD! Found termination signal " + "in termination file! TERMINATION NOW!!!!"); + CCTK_TerminateNext (cctkGH); + } + } + + return (retval); +} |