diff options
Diffstat (limited to 'src/CheckpointRecovery.c')
-rw-r--r-- | src/CheckpointRecovery.c | 48 |
1 files changed, 32 insertions, 16 deletions
diff --git a/src/CheckpointRecovery.c b/src/CheckpointRecovery.c index 5e033b8..b343dfa 100644 --- a/src/CheckpointRecovery.c +++ b/src/CheckpointRecovery.c @@ -145,7 +145,7 @@ int IOUtil_RegisterRecover (const char *name, @endhistory @var GH - @vdesc Pointer to CCTK grid hierarchy + @vdesc pointer to CCTK grid hierarchy @vtype const cGH * @vio in @endvar @@ -201,7 +201,7 @@ void IOUtil_PrepareFilename (const cGH *GH, case CP_RECOVER_DATA: case CP_RECOVER_PARAMETERS: case FILEREADER_DATA: - sprintf (fname, "%s/%s", recovery_dir, basefilename ? basefilename:recover_file); + sprintf (fname, "%s/%s", recover_dir, basefilename ? basefilename:recover_file); break; default: @@ -253,7 +253,7 @@ void IOUtil_PrepareFilename (const cGH *GH, <registered RecoverGH routines> @var GH - @vdesc Pointer to CCTK grid hierarchy + @vdesc pointer to CCTK grid hierarchy @vtype cGH * @vio in @endvar @@ -318,7 +318,7 @@ static int IOUtil_RecoverFromFile (cGH *GH, @calls IOUtil_RecoverFromFile @var GH - @vdesc Pointer to CCTK grid hierarchy + @vdesc pointer to CCTK grid hierarchy @vtype cGH * @vio in @endvar @@ -351,7 +351,7 @@ void IOUtil_RecoverGH (cGH *GH) @enddesc @var GH - @vdesc Pointer to CCTK grid hierarchy + @vdesc pointer to CCTK grid hierarchy @vtype cGH * @vio in @endvar @@ -370,9 +370,9 @@ void IOUtil_RecoverVarsFromDatafiles (cGH *GH, const char *in_files, const char *in_vars) { - DECLARE_CCTK_PARAMETERS ioGH *myGH; char *basefilename, *delim, delim_char; + DECLARE_CCTK_PARAMETERS myGH = (ioGH *) CCTK_GHExtension (GH, "IO"); @@ -443,11 +443,11 @@ void IOUtil_RecoverVarsFromDatafiles (cGH *GH, @desc The rfr-registered initial data recovery routine. Just calls IOUtil's generic routine - IOUtil_RecoverVarsFromDatafiles() with the recover_ID_XXX + IOUtil_RecoverVarsFromDatafiles() with the filereader_ID_XXX parameters. @enddesc @var GH - @vdesc Pointer to CCTK grid hierarchy + @vdesc pointer to CCTK grid hierarchy @vtype cGH * @vio in @endvar @@ -457,7 +457,7 @@ void IOUtil_RecoverIDFromDatafiles (cGH *GH) DECLARE_CCTK_PARAMETERS - IOUtil_RecoverVarsFromDatafiles (GH, recover_ID_files, recover_ID_vars); + IOUtil_RecoverVarsFromDatafiles (GH, filereader_ID_files, filereader_ID_vars); } @@ -516,7 +516,16 @@ int IOUtil_RecoverParameters (int (*recoverFn) (cGH *GH, filelist_t *filelist, *tmp; #endif DECLARE_CCTK_PARAMETERS + static int first_time_called = 1; + + /* FIXME: this can go in BETA13 */ + if (first_time_called) + { + extern int IOUtil_FixRecoveryParameters (void); + IOUtil_FixRecoveryParameters (); + first_time_called = 0; + } if (CCTK_Equals (recover, "auto") || CCTK_Equals (recover, "autoprobe")) { @@ -525,14 +534,14 @@ int IOUtil_RecoverParameters (int (*recoverFn) (cGH *GH, { CCTK_VInfo (CCTK_THORNSTRING, "Searching for %s checkpoint files " "with basefilename '%s' in directory '%s'", - fileType, recover_file, recovery_dir); + fileType, recover_file, recover_dir); } - dir = opendir (recovery_dir); + dir = opendir (recover_dir); if (! dir) { CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING, - "Recovery directory '%s' doesn't exist", recovery_dir); + "Recovery directory '%s' doesn't exist", recover_dir); return (CCTK_Equals (recover, "autoprobe") ? 0 : -2); } @@ -631,7 +640,7 @@ int IOUtil_RecoverParameters (int (*recoverFn) (cGH *GH, CCTK_VWarn (retval ? 1 : 3, __LINE__, __FILE__, CCTK_THORNSTRING, "No %s checkpoint files with basefilename '%s' found in " "recovery directory '%s'", - fileType, recover_file, recovery_dir); + fileType, recover_file, recover_dir); } #else fileExtension = fileExtension; @@ -655,13 +664,20 @@ int IOUtil_RecoverParameters (int (*recoverFn) (cGH *GH, CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING, "Could not recover parameters from %s checkpoint file(s) " "with basefilename '%s' in recovery directory '%s'", - fileType, recover_file, recovery_dir); + fileType, recover_file, recover_dir); } /* remember parameter recovery status for later evaluation in IOUtil_RecoverGH() */ checkpoint_file_exists = retval > 0; + /* FIXME: this can go in BETA13 */ + if (retval > 0) + { + extern int IOUtil_FixParameters (void); + IOUtil_FixParameters (); + } + return (retval); } @@ -676,7 +692,7 @@ int IOUtil_RecoverParameters (int (*recoverFn) (cGH *GH, @enddesc @var GH - @vdesc Pointer to CCTK grid hierarchy + @vdesc pointer to CCTK grid hierarchy @vtype const cGH * @vio in @endvar @@ -780,11 +796,11 @@ char *IOUtil_GetAllParameters (const cGH *GH, int all) @@*/ void IOUtil_SetAllParameters (const char *parameters) { - DECLARE_CCTK_PARAMETERS char *tmp, *nextparam, *avalue, *param; char oldchar; char *name, *thorn_impl, *parameter_string, *free_me; const char *thorn; + DECLARE_CCTK_PARAMETERS parameter_string = free_me = strdup (parameters); |