mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=12264
This commit is contained in:
parent
cafe3d9209
commit
bcb25e86a1
|
@ -2765,5 +2765,21 @@ Jeff 21 Mar 2007
|
|||
fcgi_stdio.h
|
||||
|
||||
David 21 Mar 2007
|
||||
- update sample web site front page
|
||||
|
||||
html/user/
|
||||
sample_index.php
|
||||
|
||||
David 21 Mar 2007
|
||||
- core client: fixed bug where a <result_abort_if_unstarted>
|
||||
in scheduler reply would crash client.
|
||||
Also, change this tag to <result_abort_if_not_started>
|
||||
Note: the syntax is
|
||||
<result_abort_if_not_started>
|
||||
<name>xxx</name>
|
||||
</result_abort_if_not_started>
|
||||
where xxx is the result name.
|
||||
|
||||
client/
|
||||
cs_scheduler.C
|
||||
scheduler_op.C,h
|
||||
|
|
|
@ -722,15 +722,25 @@ int CLIENT_STATE::handle_scheduler_reply(
|
|||
} else {
|
||||
rp->abort_inactive(ERR_ABORTED_BY_PROJECT);
|
||||
}
|
||||
} else {
|
||||
msg_printf(project, MSG_INTERNAL_ERROR,
|
||||
"Server requested abort of unknown task %s",
|
||||
sr.result_abort[i].name
|
||||
);
|
||||
}
|
||||
}
|
||||
for (i=0; i<sr.result_abort_if_unstarted.size(); i++) {
|
||||
RESULT* rp = lookup_result(project, sr.result_abort[i].name);
|
||||
for (i=0; i<sr.result_abort_if_not_started.size(); i++) {
|
||||
RESULT* rp = lookup_result(project, sr.result_abort_if_not_started[i].name);
|
||||
if (rp) {
|
||||
ACTIVE_TASK* atp = lookup_active_task_by_result(rp);
|
||||
if (!atp) {
|
||||
rp->abort_inactive(ERR_ABORTED_BY_PROJECT);
|
||||
}
|
||||
} else {
|
||||
msg_printf(project, MSG_INTERNAL_ERROR,
|
||||
"Server requested conditional abort of unknown task %s",
|
||||
sr.result_abort_if_not_started[i].name
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -794,16 +794,16 @@ int SCHEDULER_REPLY::parse(FILE* in, PROJECT* project) {
|
|||
} else {
|
||||
result_abort.push_back(result);
|
||||
}
|
||||
} else if (match_tag(buf, "<result_abort_if_unstarted>")) {
|
||||
} else if (match_tag(buf, "<result_abort_if_not_started>")) {
|
||||
RESULT result;
|
||||
retval = result.parse_name(in, "</result_abort_if_unstarted>");
|
||||
retval = result.parse_name(in, "</result_abort_if_not_started>");
|
||||
if (retval) {
|
||||
msg_printf(project, MSG_INTERNAL_ERROR,
|
||||
"Can't parse result abort-if-unstarted in scheduler reply: %s",
|
||||
"Can't parse result abort-if-not-started in scheduler reply: %s",
|
||||
boincerror(retval)
|
||||
);
|
||||
} else {
|
||||
result_abort_if_unstarted.push_back(result);
|
||||
result_abort_if_not_started.push_back(result);
|
||||
}
|
||||
} else if (parse_str(buf, "<delete_file_info>", delete_file_name)) {
|
||||
file_deletes.push_back(delete_file_name);
|
||||
|
|
|
@ -114,7 +114,7 @@ struct SCHEDULER_REPLY {
|
|||
std::vector<RESULT> results;
|
||||
std::vector<RESULT> result_acks;
|
||||
std::vector<RESULT> result_abort;
|
||||
std::vector<RESULT> result_abort_if_unstarted;
|
||||
std::vector<RESULT> result_abort_if_not_started;
|
||||
char* code_sign_key;
|
||||
char* code_sign_key_signature;
|
||||
bool message_ack;
|
||||
|
|
Loading…
Reference in New Issue