From 76583d54d9330b20e8059a85aae1189c2c5f4bad Mon Sep 17 00:00:00 2001 From: David Anderson Date: Thu, 17 Sep 2009 21:06:11 +0000 Subject: [PATCH] - client: don't print error message if output file with attribute is missing. That's the app's problem, not BOINC's - sample assimilator: if a canonical instance has no output files, rather than quitting create a file named WU_NAME_no_output_files svn path=/trunk/boinc/; revision=19082 --- checkin_notes | 11 +++++++++++ client/app_start.cpp | 6 ++++++ sched/sample_assimilator.cpp | 14 ++++++++++---- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/checkin_notes b/checkin_notes index a637a58a68..44db9f4f56 100644 --- a/checkin_notes +++ b/checkin_notes @@ -7801,3 +7801,14 @@ David 17 Sept 2009 generate_svn_version.sh sched/ (most).cpp + +David 17 Sept 2009 + - client: don't print error message if output file with + attribute is missing. That's the app's problem, not BOINC's + - sample assimilator: if a canonical instance has no output files, + rather than quitting create a file named WU_NAME_no_output_files + + client/ + app_start.cpp + sched/ + sample_assimilator.cpp diff --git a/client/app_start.cpp b/client/app_start.cpp index 8e0ae9facb..3599cafb84 100644 --- a/client/app_start.cpp +++ b/client/app_start.cpp @@ -339,12 +339,18 @@ int ACTIVE_TASK::copy_output_files() { sprintf(slotfile, "%s/%s", slot_dir, fref.open_name); get_pathname(fip, projfile, sizeof(projfile)); int retval = boinc_rename(slotfile, projfile); +#if 0 + // this isn't a BOINC error. + // it just means the app didn't create an output file + // that it was supposed to. + // if (retval) { msg_printf(wup->project, MSG_INTERNAL_ERROR, "Can't rename output file %s to %s: %s", fip->name, projfile, boincerror(retval) ); } +#endif } return 0; } diff --git a/sched/sample_assimilator.cpp b/sched/sample_assimilator.cpp index ebe551e4a3..481e36d7d7 100644 --- a/sched/sample_assimilator.cpp +++ b/sched/sample_assimilator.cpp @@ -59,6 +59,7 @@ int assimilate_handler( const char *copy_path; get_output_file_infos(canonical_result, output_files); unsigned int n = output_files.size(); + bool file_copied = false; for (i=0; i