diff options
author | swhite <swhite@e5a5a894-0e4f-0410-be11-d22c8b0a171a> | 2006-06-30 13:18:48 +0000 |
---|---|---|
committer | swhite <swhite@e5a5a894-0e4f-0410-be11-d22c8b0a171a> | 2006-06-30 13:18:48 +0000 |
commit | 6f384e57a2fe661f00c0bfeab68100b5016746be (patch) | |
tree | 05124f9de75bc072749876b7e5d575e9e96602c9 /src | |
parent | 02437564319f1e56f791a0e7fa8a516c5bf6cbf2 (diff) |
Got rid of watchminutes Cactus variable in favour of a local variable.
Suspect the use of this variable caused a crash.
Tidied up output a bit.
git-svn-id: http://svn.aei.mpg.de/numrel/AEIThorns/ManualTermination/trunk@15 e5a5a894-0e4f-0410-be11-d22c8b0a171a
Diffstat (limited to 'src')
-rw-r--r-- | src/ManualTermination.c | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/src/ManualTermination.c b/src/ManualTermination.c index e0e32c4..e5a7062 100644 --- a/src/ManualTermination.c +++ b/src/ManualTermination.c @@ -7,6 +7,7 @@ #include "cctk_Termination.h" #include "cctk_Timers.h" +static CCTK_REAL watchminutes; int ManualTermination_StartTimer (CCTK_ARGUMENTS) { @@ -17,21 +18,20 @@ int ManualTermination_StartTimer (CCTK_ARGUMENTS) int ierr; int TimerIndex; - /* only one processor needs to query the elapsed runtime */ - if (CCTK_MyProc (cctkGH) != 0) + if (CCTK_MyProc (cctkGH) != 0) /* only root process queries elapsed runtime */ { return (0); } - /* Create timer */ + TimerIndex = CCTK_TimerCreate ("WatchWalltime"); - /* Start timer */ + ierr = CCTK_TimerStart ("WatchWalltime"); - *watchminutes = output_remtime_every_minutes*1.0e0; + watchminutes = output_remtime_every_minutes*1.0e0; CCTK_VInfo (CCTK_THORNSTRING, "Started Timer"); CCTK_VInfo (CCTK_THORNSTRING, "Reminding you every %d " - "minutes about remaining walltime.", + "minutes of remaining walltime.", output_remtime_every_minutes); return (retval); } @@ -41,7 +41,7 @@ int ManualTermination_ResetMinutes (CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - *watchminutes = output_remtime_every_minutes*1.0e0; + watchminutes = output_remtime_every_minutes*1.0e0; return 0; } @@ -56,8 +56,7 @@ int ManualTermination_CheckWalltime (CCTK_ARGUMENTS) const cTimerVal *walltime; CCTK_REAL time; - /* only one processor needs to query the elapsed runtime */ - if (CCTK_MyProc (cctkGH) != 0) + if (CCTK_MyProc (cctkGH) != 0) /* only root process queries elapsed runtime */ { return (0); } @@ -66,30 +65,29 @@ int ManualTermination_CheckWalltime (CCTK_ARGUMENTS) info = CCTK_TimerCreateData (); ierr = CCTK_Timer ("WatchWalltime",info); - /* stop timer */ + ierr = CCTK_TimerStop ("WatchWalltime"); /* get walltime */ walltime = CCTK_GetClockValue ("gettimeofday",info); time = CCTK_TimerClockSeconds (walltime); CCTK_TimerDestroyData (info); - /* start timer */ + ierr = CCTK_TimerStart ("WatchWalltime"); - if ((time/60.0e0 > *watchminutes) && *watchminutes != 0) + if ((time/60.0e0 > watchminutes) && watchminutes != 0) { - *watchminutes = (*watchminutes)+output_remtime_every_minutes*1.0e0; + watchminutes = (watchminutes)+output_remtime_every_minutes*1.0e0; CCTK_INFO ("------------------------------------------------------"); - CCTK_VInfo (CCTK_THORNSTRING, "Remaining wallclock time for your job " - "is %1.2f minutes. :-)", (max_walltime*60.0-time/60.0)); + CCTK_VInfo (CCTK_THORNSTRING, "Remaining walltime is %1.2f minutes. :-)", + (max_walltime*60.0-time/60.0)); CCTK_INFO ("------------------------------------------------------"); } if (time/60.0e0 >= (max_walltime*60.0e0 - on_remaining_walltime*1.0e0)) { CCTK_INFO ("------------------------------------------------------"); - CCTK_VInfo (CCTK_THORNSTRING, "Remaining wallclock time for your job " - "is %1.2f minutes. Triggering termination ...", - (max_walltime*60.0-time/60.0)); + CCTK_VInfo (CCTK_THORNSTRING, "Remaining walltime is %1.2f minutes. \n" + "Triggering termination ...", (max_walltime*60.0-time/60.0)); CCTK_INFO ("------------------------------------------------------"); CCTK_TerminateNext (cctkGH); } |