From 667a48f1e4b3f6bc0bd52198832baec46c2fb05d Mon Sep 17 00:00:00 2001 From: eschnett Date: Tue, 20 Nov 2012 23:14:34 +0000 Subject: Report error when parameter file cannot be written git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/IOUtil/trunk@292 b32723a9-ab3a-4a60-88e2-2e5d99d7c17a --- src/Startup.c | 19 +++++++++++++++++-- 1 file 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); } -- cgit v1.2.3