diff --git a/api/boinc_api.C b/api/boinc_api.C
index 00cda5d071..2da988f529 100644
--- a/api/boinc_api.C
+++ b/api/boinc_api.C
@@ -295,6 +295,7 @@ int boinc_checkpoint_completed() {
// If it's time to quit, call boinc_finish which will exit the app properly
//
if (time_to_quit) {
+ fprintf(stderr, "Received quit request from core client\n");
boinc_finish(ERR_QUIT_REQUEST);
}
return 0;
diff --git a/checkin_notes b/checkin_notes
index 6d4b96f02a..f28b7f04e2 100755
--- a/checkin_notes
+++ b/checkin_notes
@@ -7217,7 +7217,7 @@ Karl 2003-10-29
tools/
make_project
-David 28 Oct 2003
+David 30 Oct 2003
- On call to CreateEvent() to make "event" object for
core client to ask app to quit (Windows)
changed ManualReset argument to false.
@@ -7230,3 +7230,15 @@ David 28 Oct 2003
app.C
client_state.C,h
pers_file_xfer.C
+
+David 30 Oct 2003
+ - API writes to stderr if get quit request
+ - Include signal numbers, error codes in messages about process exit
+
+ api/
+ boinc_api.C
+ client/
+ app.C
+ client_state.C
+ cs_apps.C
+ cs_scheduler.C
diff --git a/client/app.C b/client/app.C
index 3b20f9fc0a..0b2606a281 100644
--- a/client/app.C
+++ b/client/app.C
@@ -655,9 +655,9 @@ bool ACTIVE_TASK_SET::check_app_exited() {
atp->result->signal = atp->signal;
atp->result->active_task_state = PROCESS_WAS_SIGNALED;
gstate.report_result_error(
- *(atp->result), 0, "process was signaled"
+ *(atp->result), 0, "process got signal %d", atp->signal
);
- scope_messages.printf("ACTIVE_TASK_SET::check_app_exited(): process was signaled: %d\n", atp->signal);
+ scope_messages.printf("ACTIVE_TASK_SET::check_app_exited(): process got signal %d\n", atp->signal);
} else {
atp->state = PROCESS_EXIT_UNKNOWN;
atp->result->state = PROCESS_EXIT_UNKNOWN;
@@ -1032,7 +1032,7 @@ int ACTIVE_TASK_SET::restart_tasks() {
atp->result->active_task_state = PROCESS_COULDNT_START;
gstate.report_result_error(
*(atp->result), retval,
- "Couldn't restart the app for this result."
+ "Couldn't restart the app for this result: %d", retval
);
active_tasks.erase(iter);
} else {
diff --git a/client/client_state.C b/client/client_state.C
index 34e3430f85..300ad0c247 100644
--- a/client/client_state.C
+++ b/client/client_state.C
@@ -658,12 +658,12 @@ bool CLIENT_STATE::garbage_collect() {
if (!rp->ready_to_report) {
// had an error uploading a file for this result
//
- switch(failnum) {
+ switch (failnum) {
case ERR_FILE_TOO_BIG:
report_result_error(*rp, 0, "Output file exceeded size limit");
break;
default:
- report_result_error(*rp, 0, "Couldn't upload files or other output file error");
+ report_result_error(*rp, 0, "Output file error: %d", failnum);
}
}
}
@@ -874,7 +874,11 @@ int CLIENT_STATE::report_result_error(
va_list va;
va_start(va, format);
+#ifdef _WIN32
_vsnprintf(err_msg, sizeof(err_msg), format, va);
+#else
+ vsnprintf(err_msg, sizeof(err_msg), format, va);
+#endif
va_end(va);
sprintf(buf, "Unrecoverable error for result %s (%s)", res.name, err_msg);
diff --git a/client/cs_apps.C b/client/cs_apps.C
index 4bef1f09de..d593c222a6 100644
--- a/client/cs_apps.C
+++ b/client/cs_apps.C
@@ -264,8 +264,8 @@ bool CLIENT_STATE::start_apps() {
atp->result->active_task_state = PROCESS_COULDNT_START;
report_result_error(
*(atp->result), retval,
- "Couldn't start the app for this result."
- );
+ "Couldn't start the app for this result: error %d", retval
+ );
}
action = true;
set_client_state_dirty("start_apps");
diff --git a/client/cs_scheduler.C b/client/cs_scheduler.C
index 9dd86ecc9a..541ae537ad 100644
--- a/client/cs_scheduler.C
+++ b/client/cs_scheduler.C
@@ -464,9 +464,7 @@ int CLIENT_STATE::handle_scheduler_reply(
// deal with project preferences (should always be there)
//
if (sr.project_prefs_xml) {
- if (strcmp(
- project->project_specific_prefs, sr.project_prefs_xml
- )) {
+ if (strcmp(project->project_specific_prefs, sr.project_prefs_xml)) {
strcpy(project->project_specific_prefs, sr.project_prefs_xml);
retval = project->write_account_file();
if (retval) return retval;
diff --git a/doc/index.html b/doc/index.html
index 921e130a6e..a99c00629d 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -63,6 +63,9 @@ Help debug and enhance the BOINC software.
Contact us
+
+BOINC is supported by the
+National Science Foundation