scheduler fix

svn path=/trunk/boinc/; revision=6860
This commit is contained in:
David Anderson 2005-07-28 08:09:46 +00:00
parent 19a29ae220
commit 3dfea63937
5 changed files with 21 additions and 7 deletions

View File

@ -9617,3 +9617,18 @@ David 27 July 2005
client/
hostinfo_unix.C
David 27 July 2005
- fix fairly minor scheduler bug,
in the case where a reported result was not found in the DB,
which caused scheduler reply messages to contain some garbage
In DB_SCHED_RESULT_ITEM_SET::add_result(),
zero the id of the item added.
That way, if it wasn't found in the database,
it won't be updated or acknowledged
db/
boinc_db.C
sched/
handle_request.C

View File

@ -1280,6 +1280,7 @@ void SCHED_RESULT_ITEM::parse(MYSQL_ROW& r) {
int DB_SCHED_RESULT_ITEM_SET::add_result(char* result_name) {
SCHED_RESULT_ITEM result;
result.id = 0;
strcpy2(result.queried_name, result_name);
results.push_back(result);
return 0;

View File

@ -6,7 +6,7 @@ array("July 25, 2005",
"A group of students from Cornell have written
<a href=distributing_science_final.pdf>Distributing Science<a>,
a very nice article about BOINC
and some of the projects using it</a>."
and some of the projects using it."
),
array("July 24, 2005",
"<a href=http://www.fatbat.dk/thesis/>A paper by Jakob Pedersen & Christian S&oslash;ttrup</a>

View File

@ -18,7 +18,7 @@ Your bug may have already been fixed.
(which is readable and writeable).
";
if (0) {
if (1) {
echo "
<li> Read BOINC's
<a href=https://setiathome.berkeley.edu/taskbase>internal bug database</a>.
@ -27,8 +27,4 @@ and is readable by the rest of the world.
</ul>
";
}
echo "
<p>
";
?>

View File

@ -484,7 +484,8 @@ int handle_results(SCHEDULER_REQUEST& sreq, SCHEDULER_REPLY& reply) {
if (sreq.results.size() == 0) return 0;
// copy names of reported results to a separate vector
// copy reported results to a separate vector, "result_handler",
// initially with only the "name" field present
//
for (i=0; i<sreq.results.size(); i++) {
result_handler.add_result(sreq.results[i].name);
@ -521,6 +522,7 @@ int handle_results(SCHEDULER_REQUEST& sreq, SCHEDULER_REPLY& reply) {
"[HOST#%d] [RESULT#? %s] can't find result\n",
reply.host.id, rp->name
);
reply.result_acks.push_back(std::string(rp->name));
continue;
}