diff options
Diffstat (limited to 'src/Startup.c')
-rw-r--r-- | src/Startup.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/Startup.c b/src/Startup.c index 8a66e7d..6a21e28 100644 --- a/src/Startup.c +++ b/src/Startup.c @@ -425,7 +425,7 @@ static void *SetupGH (tFleshConfig *config, int convergence_level, cGH *GH) @@*/ static int CopyParFile (int recovered) { - int in_parfile, out_parfile, bytes, flags; + int in_parfile, out_parfile, bytes, bytes_written, flags; char *out_parfilename, buffer[256]; const char *my_parfile_name; struct stat in_stat_buf, out_stat_buf; @@ -489,7 +489,22 @@ static int CopyParFile (int recovered) { while ((bytes = read (in_parfile, buffer, sizeof (buffer))) > 0) { - write (out_parfile, buffer, bytes); + bytes_written = write (out_parfile, buffer, bytes); + if (bytes_written != bytes) + { + if (bytes_written < 0) + { + CCTK_VWarn (3, __LINE__, __FILE__, CCTK_THORNSTRING, + "Error while writing parameter file '%s' (%s)", + out_parfilename, strerror (errno)); + } + else + { + CCTK_VWarn (3, __LINE__, __FILE__, CCTK_THORNSTRING, + "Error while writing parameter file '%s'", + out_parfilename); + } + } } close (out_parfile); } |