From e526df3db557d1beff871d64d4425e507851ce28 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Wed, 16 Aug 2006 19:45:43 +0000 Subject: [PATCH] *** empty log message *** svn path=/trunk/boinc/; revision=10934 --- checkin_notes | 9 +++++++++ client/cs_scheduler.C | 10 ++++++++++ client/gui_rpc_server_ops.C | 16 ++++++++++------ doc/boinc_news.inc | 6 ++++++ doc/gui_rpc.php | 23 +++++++++++++++++++++-- doc/index.php | 31 +++++++++++++++++++------------ doc/projects.php | 3 +-- doc/volunteer.php | 2 +- 8 files changed, 77 insertions(+), 23 deletions(-) diff --git a/checkin_notes b/checkin_notes index 3f86bf2f64..b27b8c4cf9 100755 --- a/checkin_notes +++ b/checkin_notes @@ -8894,3 +8894,12 @@ David 15 Aug 2006 gui_rpc_client_ops.C sched/ sched_hr.C + +David 16 Aug 2006 + - GUI RPC: set_global_prefs_override(): if arg is empty string, + delete prefs override file + - improved comments in CPU sched code + + client/ + cs_scheduler.C + gui_rpc_server_ops.C diff --git a/client/cs_scheduler.C b/client/cs_scheduler.C index 9c47642200..057e34fedc 100644 --- a/client/cs_scheduler.C +++ b/client/cs_scheduler.C @@ -549,6 +549,16 @@ double CLIENT_STATE::time_until_work_done( // - for each contactable project: // - work_request and work_request_urgency // +// Notes: +// - at most 1 CPU-intensive project will have a nonzero work_request +// and a work_request_urgency higher than DONT_NEED. +// This prevents projects with low LTD from getting work +// even though there was a higher LTD project that should get work. +// - all non-CPU-intensive projects that need work +// and are contactable will have a work request of 1. +// +// return false +// bool CLIENT_STATE::compute_work_requests() { bool non_cpu_intensive_needs_work=false; unsigned int i; diff --git a/client/gui_rpc_server_ops.C b/client/gui_rpc_server_ops.C index 26af37fda1..4050461635 100644 --- a/client/gui_rpc_server_ops.C +++ b/client/gui_rpc_server_ops.C @@ -796,13 +796,17 @@ static void handle_set_global_prefs_override(char* buf, MIOFILE& fout) { if (q) { *q = 0; strip_whitespace(p); - FILE* f = boinc_fopen(GLOBAL_PREFS_OVERRIDE_FILE, "w"); - if (f) { - fprintf(f, "%s\n", p); - fclose(f); - retval = 0; + if (strlen(p)) { + FILE* f = boinc_fopen(GLOBAL_PREFS_OVERRIDE_FILE, "w"); + if (f) { + fprintf(f, "%s\n", p); + fclose(f); + retval = 0; + } else { + retval = ERR_FOPEN; + } } else { - retval = ERR_FOPEN; + retval = boinc_delete_file(GLOBAL_PREFS_OVERRIDE_FILE); } } fout.printf( diff --git a/doc/boinc_news.inc b/doc/boinc_news.inc index 418e2732e9..afdb44550b 100644 --- a/doc/boinc_news.inc +++ b/doc/boinc_news.inc @@ -1,6 +1,12 @@ Desktop Grid Computing + and for creating + Virtual Campus Supercomputing Centers." +), array("August 15, 2006", "A BBC Radio program on 'Citizen Science' - including a segment on volunteer computing and BOINC - diff --git a/doc/gui_rpc.php b/doc/gui_rpc.php index caead54344..d13067c14d 100644 --- a/doc/gui_rpc.php +++ b/doc/gui_rpc.php @@ -276,14 +276,33 @@ list_item_func( ); list_item_func( "get_global_prefs_override(std::string&)", - "Return the contents of the - global preferences override file." + "Reads the contents of the + global preferences override file + into the given string. + Return an error code if the file is not present." ); list_item_func( "set_global_prefs_override(std::string&)", "Write the given contents to the + global preferences override file. + If the argment is an empty string, delete the file. + Otherwise the argument must be a valid + <global_preferences> element." +); +list_item_func( + "get_global_prefs_override_struct(GLOBAL_PREFS&)", + "Return the contents of the + global preferences override file, + parsed into a structure. + Default values are zero. + Returns an error code if the file is not present." +); +list_item_func( + "set_global_prefs_override_struct(GLOBAL_PREFS&)", + "Convert the given structure to XML and write it to the global preferences override file." ); + list_end(); echo "

diff --git a/doc/index.php b/doc/index.php index 46dae46c82..b949be3e7f 100644 --- a/doc/index.php +++ b/doc/index.php @@ -6,8 +6,9 @@ function show_participant() { $i = rand(0, 99); $j = $i+1; echo " - -


+ +
+
"; include("piecharts/$i.html"); echo " @@ -17,6 +18,7 @@ function show_participant() { Single-computer | Other lists +
"; } @@ -77,21 +79,26 @@ function show_participate() { function show_create() { global $light_blue; echo " - Create a volunteer computing project + Compute with BOINC - If you are a scientist with a computationally-intensive task, - you may be able to use BOINC. A BOINC project with a single Linux server can provide computing power equivalent to a cluster with tens of thousands of CPUs. -

Learn how to create and operate a BOINC project. -

- If you lack the resources to operate a BOINC project directly, - organizations such as World Community Grid may be able - to assist you. +

"; } @@ -146,8 +153,8 @@ echo "

Berkeley Open Infrastructure for Network Computing

-BOINC is free, open-source software for -volunteer computing and desktop grid computing. +Open-source software for +volunteer computing and desktop grid computing.

"; search_form(); diff --git a/doc/projects.php b/doc/projects.php index 2bb634d288..565122e1e5 100644 --- a/doc/projects.php +++ b/doc/projects.php @@ -35,8 +35,7 @@ and copy the URL from your browser's address field.

Projects are independent. -The BOINC project has no control over the creation of BOINC-based projects, -and do not endorse them. +BOINC does not control or endorse BOINC-based projects. When you participate in a project, you entrust that project with the health of your computer and the privacy of your data. diff --git a/doc/volunteer.php b/doc/volunteer.php index 4bc51fb263..7f9752b136 100644 --- a/doc/volunteer.php +++ b/doc/volunteer.php @@ -100,7 +100,7 @@ This is different from volunteer computing. 'Desktop grid' computing - which uses desktop PCs within an organization - is superficially similar to volunteer computing, but because it has accountability and lacks anonymity, -it is different at a deeper level. +it is significantly different.

If your definition of 'Grid computing' encompasses all distributed computing (which is silly - there's already a perfectly good term for that)