aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Startup.c19
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);
}