mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=2823
This commit is contained in:
parent
373917017a
commit
50e2c6cff2
|
@ -46,6 +46,7 @@
|
|||
#include "parse.h"
|
||||
#include "shmem.h"
|
||||
#include "util.h"
|
||||
#include "filesys.h"
|
||||
#include "error_numbers.h"
|
||||
#include "app_ipc.h"
|
||||
|
||||
|
@ -89,7 +90,7 @@ int boinc_parse_init_data_file() {
|
|||
// If in standalone mode, use init files if they're there,
|
||||
// but don't demand that they exist
|
||||
//
|
||||
f = fopen(INIT_DATA_FILE, "r");
|
||||
f = boinc_fopen(INIT_DATA_FILE, "r");
|
||||
if (!f) {
|
||||
if (standalone) {
|
||||
safe_strncpy(aid.app_preferences, "", sizeof(aid.app_preferences));
|
||||
|
@ -456,7 +457,7 @@ int boinc_init(bool standalone_ /* = false */) {
|
|||
//
|
||||
initial_wu_cpu_time = aid.wu_cpu_time;
|
||||
|
||||
f = fopen(FD_INIT_FILE, "r");
|
||||
f = boinc_fopen(FD_INIT_FILE, "r");
|
||||
if (f) {
|
||||
parse_fd_init_file(f);
|
||||
fclose(f);
|
||||
|
|
|
@ -59,7 +59,7 @@ int boinc_init_graphics() {
|
|||
FILE* f;
|
||||
int retval;
|
||||
|
||||
f = fopen(GRAPHICS_DATA_FILE, "r");
|
||||
f = boinc_fopen(GRAPHICS_DATA_FILE, "r");
|
||||
if (!f) {
|
||||
fprintf(stderr, "boinc_init(): can't open graphics data file\n");
|
||||
fprintf(stderr, "Using default graphics settings.\n");
|
||||
|
|
|
@ -1065,7 +1065,7 @@ int read_ppm_file(char* name, int& w, int& h, unsigned char** arrayp) {
|
|||
unsigned char* array;
|
||||
int i;
|
||||
|
||||
f = fopen(name, "rb");
|
||||
f = boinc_fopen(name, "rb");
|
||||
if (!f) return -1;
|
||||
do {fgets(buf, 256, f);} while (buf[0] == '#');
|
||||
if (buf[0] != 'P') {
|
||||
|
@ -1182,7 +1182,7 @@ tImageJPG *LoadJPG(const char *filename) {
|
|||
tImageJPG *pImageData = NULL;
|
||||
FILE *pFile;
|
||||
|
||||
if((pFile = fopen(filename, "rb")) == NULL) {
|
||||
if((pFile = boinc_fopen(filename, "rb")) == NULL) {
|
||||
fprintf(stderr,"Unable to load JPG File!");
|
||||
return NULL;
|
||||
}
|
||||
|
@ -1206,7 +1206,7 @@ tImageJPG *LoadJPG(const char *filename) {
|
|||
}
|
||||
|
||||
void printdata(char* filename, int x, int y, unsigned char* data) {
|
||||
FILE* bmpfile = fopen(filename,"w");
|
||||
FILE* bmpfile = boinc_fopen(filename,"w");
|
||||
fprintf(bmpfile,"%i,%i\n",x,y);
|
||||
for(int i=0;i<y;i++) {
|
||||
for(int c=0;c<8;c++) {
|
||||
|
@ -1314,7 +1314,7 @@ int TEXTURE_DESC::CreateTextureTGA(char* strFileName) {
|
|||
int TEXTURE_DESC::load_image_file(char* filename) {
|
||||
int retval;
|
||||
FILE* f;
|
||||
f = fopen(filename, "r");
|
||||
f = boinc_fopen(filename, "r");
|
||||
if (!f) goto done;
|
||||
fclose(f);
|
||||
|
||||
|
|
|
@ -25,12 +25,13 @@
|
|||
#include <malloc.h>
|
||||
#endif
|
||||
|
||||
#include "filesys.h"
|
||||
#include "boinc_api.h"
|
||||
|
||||
int MFILE::open(const char* path, const char* mode) {
|
||||
buf = 0;
|
||||
len = 0;
|
||||
f = fopen(path, mode);
|
||||
f = boinc_fopen(path, mode);
|
||||
if (!f) return -1;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -8664,3 +8664,30 @@ David 23 Dec 2003
|
|||
client/
|
||||
app.C
|
||||
client_state.C
|
||||
|
||||
David 23 Dec 2003
|
||||
- added boinc_fopen() function.
|
||||
This should be used in lieu of fopen(), in both core client and apps,
|
||||
whenever opening a file for writing.
|
||||
This is because on Windows a utility program like FileFind
|
||||
might have the file open at that exact moment,
|
||||
and your fopen() will fail.
|
||||
boinc_fopen() deals with this by sleeping for 3 seconds and trying again.
|
||||
NOTE: in SETI@home there's a much fancier function
|
||||
that does exponential backoff up to one hour.
|
||||
Can't do that here, in part because the GUI requires
|
||||
the core client to be nonblocking.
|
||||
api/
|
||||
boinc_api.C
|
||||
graphics_api.C
|
||||
gutil.C
|
||||
mfile.C
|
||||
client/
|
||||
app.C
|
||||
client_types.C
|
||||
cs_benchmark.C
|
||||
cs_scheduler.C
|
||||
cs_statefile.C
|
||||
http.C
|
||||
doc/
|
||||
(various)
|
||||
|
|
|
@ -179,7 +179,7 @@ int ACTIVE_TASK::write_app_init_file(APP_INIT_DATA& aid) {
|
|||
aid.wu_cpu_time = starting_cpu_time;
|
||||
|
||||
sprintf(init_data_path, "%s%s%s", slot_dir, PATH_SEPARATOR, INIT_DATA_FILE);
|
||||
f = fopen(init_data_path, "w");
|
||||
f = boinc_fopen(init_data_path, "w");
|
||||
if (!f) {
|
||||
msg_printf(wup->project, MSG_ERROR,
|
||||
"Failed to open core-to-app prefs file %s",
|
||||
|
@ -238,7 +238,7 @@ int ACTIVE_TASK::start(bool first_time) {
|
|||
if (retval) return retval;
|
||||
|
||||
sprintf(graphics_data_path, "%s%s%s", slot_dir, PATH_SEPARATOR, GRAPHICS_DATA_FILE);
|
||||
f = fopen(graphics_data_path, "w");
|
||||
f = boinc_fopen(graphics_data_path, "w");
|
||||
if (!f) {
|
||||
msg_printf(wup->project, MSG_ERROR,
|
||||
"Failed to open core-to-app graphics prefs file %s",
|
||||
|
@ -250,7 +250,7 @@ int ACTIVE_TASK::start(bool first_time) {
|
|||
fclose(f);
|
||||
|
||||
sprintf(fd_init_path, "%s%s%s", slot_dir, PATH_SEPARATOR, FD_INIT_FILE);
|
||||
f = fopen(fd_init_path, "w");
|
||||
f = boinc_fopen(fd_init_path, "w");
|
||||
if (!f) {
|
||||
msg_printf(wup->project, MSG_ERROR, "Failed to open init file %s", fd_init_path);
|
||||
return ERR_FOPEN;
|
||||
|
|
|
@ -83,7 +83,7 @@ int PROJECT::write_account_file() {
|
|||
int retval;
|
||||
|
||||
get_account_filename(master_url, path);
|
||||
f = fopen(TEMP_FILE_NAME, "w");
|
||||
f = boinc_fopen(TEMP_FILE_NAME, "w");
|
||||
if (!f) return ERR_FOPEN;
|
||||
#ifndef _WIN32
|
||||
chmod(TEMP_FILE_NAME, 0600);
|
||||
|
|
|
@ -154,7 +154,7 @@ int CLIENT_STATE::cpu_benchmarks() {
|
|||
}
|
||||
|
||||
host_info.p_calculated = (double)time(0);
|
||||
finfo = fopen(CPU_BENCHMARKS_FILE_NAME, "w");
|
||||
finfo = boinc_fopen(CPU_BENCHMARKS_FILE_NAME, "w");
|
||||
if(!finfo) return ERR_FOPEN;
|
||||
host_info.write_cpu_benchmarks(finfo);
|
||||
fclose(finfo);
|
||||
|
|
|
@ -213,7 +213,7 @@ void CLIENT_STATE::compute_resource_debts() {
|
|||
// server
|
||||
//
|
||||
int CLIENT_STATE::make_scheduler_request(PROJECT* p, double work_req) {
|
||||
FILE* f = fopen(SCHED_OP_REQUEST_FILE, "wb");
|
||||
FILE* f = boinc_fopen(SCHED_OP_REQUEST_FILE, "wb");
|
||||
unsigned int i;
|
||||
RESULT* rp;
|
||||
int retval;
|
||||
|
@ -447,7 +447,7 @@ int CLIENT_STATE::handle_scheduler_reply(
|
|||
// insert extra elements, write to disk, and parse
|
||||
//
|
||||
if (sr.global_prefs_xml) {
|
||||
f = fopen(GLOBAL_PREFS_FILE_NAME, "w");
|
||||
f = boinc_fopen(GLOBAL_PREFS_FILE_NAME, "w");
|
||||
if (!f) return ERR_FOPEN;
|
||||
fprintf(f,
|
||||
"<global_preferences>\n"
|
||||
|
|
|
@ -186,7 +186,7 @@ int CLIENT_STATE::parse_venue() {
|
|||
//
|
||||
int CLIENT_STATE::write_state_file() {
|
||||
unsigned int i, j;
|
||||
FILE* f = fopen(STATE_FILE_TEMP, "w");
|
||||
FILE* f = boinc_fopen(STATE_FILE_TEMP, "w");
|
||||
int retval;
|
||||
|
||||
ScopeMessages scope_messages(log_messages, ClientMessages::DEBUG_STATE);
|
||||
|
|
|
@ -556,7 +556,7 @@ bool HTTP_OP_SET::poll() {
|
|||
case HTTP_OP_GET:
|
||||
htp->http_op_state = HTTP_STATE_REPLY_BODY;
|
||||
|
||||
htp->file = fopen(htp->outfile, "ab");
|
||||
htp->file = boinc_fopen(htp->outfile, "ab");
|
||||
if (!htp->file) {
|
||||
msg_printf(NULL, MSG_ERROR,
|
||||
"HTTP_OP_SET::poll(): can't open output file %s\n",
|
||||
|
|
|
@ -1,9 +1,18 @@
|
|||
<?
|
||||
require_once("docutil.php");
|
||||
page_head("Running the BOINC client");
|
||||
page_head("Installing and running the BOINC client");
|
||||
echo "
|
||||
<ul>
|
||||
<li><a href=#win>Instructions for the Windows client</a>
|
||||
<li><a href=#cmdline>Instructions for the command-line client</a>
|
||||
(Mac OS/X, Linus, Unix)
|
||||
<li><a href=#mac>Additional instructions for Mac OS/X</a>
|
||||
</ul>
|
||||
<a name=win>
|
||||
<h3>BOINC for Windows</h3>
|
||||
<p>
|
||||
Install BOINC by running the installer program.
|
||||
<p>
|
||||
The <b>BOINC work manager</b> program controls
|
||||
the use of your computer's disk, network, and processor resources.
|
||||
It is normally started at boot time.
|
||||
|
@ -118,8 +127,14 @@ if any is available.
|
|||
Otherwise it draws the BOINC logo bouncing around the screen.
|
||||
|
||||
<hr>
|
||||
<a name=cmdline>
|
||||
<h3>The BOINC command-line client</h3>
|
||||
<p>
|
||||
Install the BOINC client by using gunzip to decompress the executable.
|
||||
Put it in a directory by itself.
|
||||
Run it manually, from your login script,
|
||||
or from system startup files.
|
||||
<p>
|
||||
The command line client has several options:
|
||||
";
|
||||
list_start();
|
||||
|
@ -158,5 +173,62 @@ list_item("-version",
|
|||
"Show client version."
|
||||
);
|
||||
list_end();
|
||||
echo"
|
||||
<a name=mac>
|
||||
<h3>Installing BOINC on Mac OS/X</h3>
|
||||
<p>
|
||||
The Mac OS X client will unpack correctly with gunzip on Mac OS X
|
||||
10.2 (jaguar) or 10.3 (panther) as long as you type the command
|
||||
within Terminal. Stuffit 7.x or newer will work under the Finder
|
||||
in either OS X or OS 9, but I'd recommend using 'gunzip' or 'gzip -d'
|
||||
within Terminal instead.
|
||||
|
||||
<p>
|
||||
However, the two main browsers on OS X (IE 5.2.x and Safari 1.x) will
|
||||
automatically unpack downloads by default, so your work may already
|
||||
be done.
|
||||
|
||||
<p>
|
||||
If you use IE, the boinc client will download and automatically unpack
|
||||
leaving two files:
|
||||
<ol>
|
||||
<li>
|
||||
boinc_2.12_powerpc-apple-darwin
|
||||
[this will have the stuffit icon in the finder]
|
||||
|
||||
<li>
|
||||
boinc_2.12_powerpc-apple-darwin7.0.0
|
||||
[this will not have any icon in the finder]
|
||||
|
||||
</ol>
|
||||
<p>
|
||||
#2 is the unpacked program ready-to-run. You can just start Terminal
|
||||
and run boinc.
|
||||
|
||||
<p>
|
||||
If you use Safari, the boinc client will download and automatically
|
||||
unpack, leaving a single file:
|
||||
<ul>
|
||||
<li>
|
||||
boinc_2.12_powerpc-apple-darwin7.0.0
|
||||
[this will not have any icon in the finder]
|
||||
</ul>
|
||||
This is the unpacked program, but it's not yet ready-to-run (this is
|
||||
a bug with how Safari handles gzipped downloads; we'll fix this soon).
|
||||
|
||||
<p>
|
||||
Here's what you have to do to fix the Safari download (apologies if
|
||||
you already know how to do this):
|
||||
|
||||
<ul>
|
||||
<li> Create a folder in your home directory and put the boinc
|
||||
file in it
|
||||
<li> Start Terminal
|
||||
<li> 'cd' to the folder you just created
|
||||
<li> Type 'chmod +x boinc_2.12_powerpc-apple-darwin7.0.0'
|
||||
(without the quotes)
|
||||
</ul>
|
||||
Now you can run BOINC.
|
||||
";
|
||||
page_tail();
|
||||
?>
|
||||
|
|
|
@ -29,6 +29,8 @@ Janus Kristensen
|
|||
<br>
|
||||
Tim Lan
|
||||
<br>
|
||||
Rom Walton
|
||||
<br>
|
||||
Oliver Wang
|
||||
";
|
||||
page_tail();
|
||||
|
|
238
doc/db_dump.php
238
doc/db_dump.php
|
@ -34,9 +34,8 @@ and a list of the project's applications,
|
|||
with counts of results in various states.
|
||||
<br>
|
||||
For example:
|
||||
<pre> "
|
||||
. htmlspecialchars("
|
||||
<tables>
|
||||
<pre>",
|
||||
htmlspecialchars("<tables>
|
||||
<update_time>1046220857</update_time>
|
||||
<nusers_total>127</nusers_total>
|
||||
<nusers_per_file_summary>1000</nusers_per_file_summary>
|
||||
|
@ -57,8 +56,8 @@ For example:
|
|||
...
|
||||
</applications>
|
||||
</tables>
|
||||
") . "
|
||||
</pre>
|
||||
"),
|
||||
"</pre>
|
||||
<b>team_total_credit_N.xml</b>
|
||||
<br>
|
||||
Team summaries, ordered by decreasing <a href=credit.php>total credit</a><.
|
||||
|
@ -100,127 +99,136 @@ The format of the various XML elements is as follows:
|
|||
|
||||
<p>
|
||||
<b>Team summary</b>
|
||||
<pre>
|
||||
<team>
|
||||
<id>5</id>
|
||||
<name>Broadband Reports Team Starfire</name>
|
||||
<total_credit>153402.872429</total_credit>
|
||||
<expavg_credit>503030.483254</expavg_credit>
|
||||
<nusers>14</nusers>
|
||||
</team>
|
||||
</pre>
|
||||
<pre>",
|
||||
htmlspecialchars("
|
||||
<team>
|
||||
<id>5</id>
|
||||
<name>Broadband Reports Team Starfire</name>
|
||||
<total_credit>153402.872429</total_credit>
|
||||
<expavg_credit>503030.483254</expavg_credit>
|
||||
<nusers>14</nusers>
|
||||
</team>
|
||||
"),
|
||||
"</pre>
|
||||
<p>
|
||||
<b>Team detail</b>
|
||||
<pre>
|
||||
<team>
|
||||
<id>5</id>
|
||||
<name>Broadband Reports Team Starfire</name>
|
||||
<total_credit>153402.872429</total_credit>
|
||||
<expavg_credit>503030.483254</expavg_credit>
|
||||
<nusers>14</nusers>
|
||||
<create_time>0</create_time>
|
||||
<name_html>%3Ca%20href%3D%27http%3A%2F%2Fbroadbandreports%2Ecom%2Fforum%2Fseti%2
|
||||
<pre>",
|
||||
htmlspecialchars("
|
||||
<team>
|
||||
<id>5</id>
|
||||
<name>Broadband Reports Team Starfire</name>
|
||||
<total_credit>153402.872429</total_credit>
|
||||
<expavg_credit>503030.483254</expavg_credit>
|
||||
<nusers>14</nusers>
|
||||
<create_time>0</create_time>
|
||||
<name_html>%3Ca%20href%3D%27http%3A%2F%2Fbroadbandreports%2Ecom%2Fforum%2Fseti%2
|
||||
7%3E%3Cimg%20src%3D%27http%3A%2F%2Fi%2Edslr%2Enet%2Fpics%2Ffaqs%2Fimage2067%2Ejp
|
||||
g%27%3E</name_html>
|
||||
<country>None</country>
|
||||
<user>
|
||||
<id>12</id>
|
||||
<name>John Keck</name>
|
||||
<total_credit>42698.813543</total_credit>
|
||||
<expavg_credit>117348.653646</expavg_credit>
|
||||
<teamid>5</teamid>
|
||||
</user>
|
||||
<user>
|
||||
<id>14</id>
|
||||
<name>Liontaur</name>
|
||||
<total_credit>46389.595430</total_credit>
|
||||
<expavg_credit>122936.372641</expavg_credit>
|
||||
<teamid>5</teamid>
|
||||
</user>
|
||||
</team>
|
||||
</pre>
|
||||
g%27%3E</name_html>
|
||||
<country>None</country>
|
||||
<user>
|
||||
<id>12</id>
|
||||
<name>John Keck</name>
|
||||
<total_credit>42698.813543</total_credit>
|
||||
<expavg_credit>117348.653646</expavg_credit>
|
||||
<teamid>5</teamid>
|
||||
</user>
|
||||
<user>
|
||||
<id>14</id>
|
||||
<name>Liontaur</name>
|
||||
<total_credit>46389.595430</total_credit>
|
||||
<expavg_credit>122936.372641</expavg_credit>
|
||||
<teamid>5</teamid>
|
||||
</user>
|
||||
</team>
|
||||
"),"</pre>
|
||||
<p>
|
||||
<b>User summary</b>
|
||||
<pre>
|
||||
<user>
|
||||
<id>12</id>
|
||||
<name>John Keck</name>
|
||||
<total_credit>42698.813543</total_credit>
|
||||
<expavg_credit>117348.653646</expavg_credit>
|
||||
<teamid>5</teamid>
|
||||
</user>
|
||||
</pre>
|
||||
<pre>",
|
||||
htmlspecialchars("
|
||||
<user>
|
||||
<id>12</id>
|
||||
<name>John Keck</name>
|
||||
<total_credit>42698.813543</total_credit>
|
||||
<expavg_credit>117348.653646</expavg_credit>
|
||||
[ <teamid>5</teamid> ]
|
||||
[ <has_profile/> ]
|
||||
</user>
|
||||
"), "</pre>
|
||||
<p>
|
||||
<b>User detail</b>
|
||||
<pre>
|
||||
<user>
|
||||
<id>3</id>
|
||||
<name>Eric Heien</name>
|
||||
<total_credit>4897.904591</total_credit>
|
||||
<expavg_credit>9820.631754</expavg_credit>
|
||||
<country>United States</country>
|
||||
<create_time>1046220857</ncreate_time>
|
||||
<teamid>14</teamid>
|
||||
<host>
|
||||
<id>27</id>
|
||||
<total_credit>0.000000</total_credit>
|
||||
<expavg_credit>0.000000</expavg_credit>
|
||||
<p_vendor></p_vendor>
|
||||
<p_model></p_model>
|
||||
<os_name>Darwin</os_name>
|
||||
<os_version>6.2</os_version>
|
||||
</host>
|
||||
<host>
|
||||
<id>266</id>
|
||||
<total_credit>0.000000</total_credit>
|
||||
<expavg_credit>0.000000</expavg_credit>
|
||||
<p_vendor>GenuineIntel</p_vendor>
|
||||
<p_model>Intel(R)</p_model>
|
||||
<os_name>Linux</os_name>
|
||||
<os_version>2.4.18-18.7.x</os_version>
|
||||
</host>
|
||||
</user>
|
||||
</pre>
|
||||
<pre>",
|
||||
htmlspecialchars("
|
||||
<user>
|
||||
<id>3</id>
|
||||
<name>Eric Heien</name>
|
||||
<total_credit>4897.904591</total_credit>
|
||||
<expavg_credit>9820.631754</expavg_credit>
|
||||
<country>United States</country>
|
||||
<create_time>1046220857</ncreate_time>
|
||||
[ <teamid>14</teamid> ]
|
||||
[ <has_profile/> ]
|
||||
<host>
|
||||
<id>27</id>
|
||||
<total_credit>0.000000</total_credit>
|
||||
<expavg_credit>0.000000</expavg_credit>
|
||||
<p_vendor></p_vendor>
|
||||
<p_model></p_model>
|
||||
<os_name>Darwin</os_name>
|
||||
<os_version>6.2</os_version>
|
||||
</host>
|
||||
<host>
|
||||
<id>266</id>
|
||||
<total_credit>0.000000</total_credit>
|
||||
<expavg_credit>0.000000</expavg_credit>
|
||||
<p_vendor>GenuineIntel</p_vendor>
|
||||
<p_model>Intel(R)</p_model>
|
||||
<os_name>Linux</os_name>
|
||||
<os_version>2.4.18-18.7.x</os_version>
|
||||
</host>
|
||||
</user>
|
||||
"),"</pre>
|
||||
<p>
|
||||
<b>Host summary</b>
|
||||
<pre>
|
||||
<host>
|
||||
<id>266</id>
|
||||
<total_credit>0.000000</total_credit>
|
||||
<expavg_credit>0.000000</expavg_credit>
|
||||
<p_vendor>GenuineIntel</p_vendor>
|
||||
<p_model>Intel(R)</p_model>
|
||||
<os_name>Linux</os_name>
|
||||
<os_version>2.4.18-18.7.x</os_version>
|
||||
</host>
|
||||
</pre>
|
||||
<pre>",
|
||||
htmlspecialchars("
|
||||
<host>
|
||||
<id>266</id>
|
||||
<total_credit>0.000000</total_credit>
|
||||
<expavg_credit>0.000000</expavg_credit>
|
||||
<p_vendor>GenuineIntel</p_vendor>
|
||||
<p_model>Intel(R)</p_model>
|
||||
<os_name>Linux</os_name>
|
||||
<os_version>2.4.18-18.7.x</os_version>
|
||||
</host>
|
||||
"),"</pre>
|
||||
<p>
|
||||
<b>Host detail</b>
|
||||
<pre>
|
||||
<host>
|
||||
<id>102</id>
|
||||
<userid>3</userid>
|
||||
<total_credit>0.000000</total_credit>
|
||||
<expavg_credit>0.000000</expavg_credit>
|
||||
<p_vendor>GenuineIntel</p_vendor>
|
||||
<p_model>Pentium</p_model>
|
||||
<os_name>Windows XP</os_name>
|
||||
<os_version>5.1</os_version>
|
||||
<create_time>1040170006</create_time>
|
||||
<timezone>28800</timezone>
|
||||
<ncpus>2</ncpus>
|
||||
<p_fpops>45724737.082762</p_fpops>
|
||||
<p_iops>43233895.373973</p_iops>
|
||||
<p_membw>4032258.064516</p_membw>
|
||||
<m_nbytes>670478336.000000</m_nbytes>
|
||||
<m_cache>1000000.000000</m_cache>
|
||||
<m_swap>1638260736.000000</m_swap>
|
||||
<d_total>9088008192.000000</d_total>
|
||||
<d_free>3788505088.000000</d_free>
|
||||
<n_bwup>24109.794088</n_bwup>
|
||||
<n_bwdown>57037.049858</n_bwdown>
|
||||
</host>
|
||||
</pre>
|
||||
<pre>",
|
||||
htmlspecialchars("
|
||||
<host>
|
||||
<id>102</id>
|
||||
<userid>3</userid>
|
||||
<total_credit>0.000000</total_credit>
|
||||
<expavg_credit>0.000000</expavg_credit>
|
||||
<p_vendor>GenuineIntel</p_vendor>
|
||||
<p_model>Pentium</p_model>
|
||||
<os_name>Windows XP</os_name>
|
||||
<os_version>5.1</os_version>
|
||||
<create_time>1040170006</create_time>
|
||||
<timezone>28800</timezone>
|
||||
<ncpus>2</ncpus>
|
||||
<p_fpops>45724737.082762</p_fpops>
|
||||
<p_iops>43233895.373973</p_iops>
|
||||
<p_membw>4032258.064516</p_membw>
|
||||
<m_nbytes>670478336.000000</m_nbytes>
|
||||
<m_cache>1000000.000000</m_cache>
|
||||
<m_swap>1638260736.000000</m_swap>
|
||||
<d_total>9088008192.000000</d_total>
|
||||
<d_free>3788505088.000000</d_free>
|
||||
<n_bwup>24109.794088</n_bwup>
|
||||
<n_bwdown>57037.049858</n_bwdown>
|
||||
</host>
|
||||
"),"</pre>
|
||||
";
|
||||
page_tail();
|
||||
?>
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
|
@ -22,7 +22,7 @@ computer resources
|
|||
<a href="intro.php"><b>Overview of BOINC</b></a>
|
||||
|
||||
<br><br>
|
||||
<a href=participate.php><b>Participating in BOINC projects</b></a>
|
||||
<a href=participate.php><b>Participating</b></a>
|
||||
<br>
|
||||
|
||||
<font size=-2>
|
||||
|
@ -41,15 +41,15 @@ Use BOINC to develop resource-intensive applications
|
|||
<br>
|
||||
|
||||
<font size=-2>
|
||||
Help debug and enhance the BOINC software.
|
||||
Help debug and enhance BOINC software.
|
||||
</font>
|
||||
|
||||
<br><br>
|
||||
<a href=translations.php><b>Non-English pages about BOINC</b></a>
|
||||
<a href=translations.php><b>Web resources</b></a>
|
||||
<br>
|
||||
|
||||
<font size=-2>
|
||||
Translations of this web page.
|
||||
BOINC-related sites in other languages
|
||||
</font>
|
||||
|
||||
<br><br>
|
||||
|
|
|
@ -3,6 +3,7 @@ require_once("docutil.php");
|
|||
page_head("Participating in BOINC projects");
|
||||
echo "
|
||||
<ul>
|
||||
<li> <a href=projects.php>Choosing project(s)</a>
|
||||
<li> <a href=host_requirements.php>System requirements</a>
|
||||
<li> <a href=account.php>Joining a project</a>
|
||||
<li> <a href=client.php>Running the BOINC client</a>
|
||||
|
|
|
@ -86,7 +86,7 @@ that recognizes when it's running on a 3DNow machine,
|
|||
and branches to the appropriate code.
|
||||
|
||||
<p>
|
||||
<h3>Web-site statistics breakdown by archicture</h3>
|
||||
<h3>Web-site statistics breakdown by architecture</h3>
|
||||
<p>
|
||||
BOINC collects architecture details about each completed result
|
||||
to allow detailed statistical breakdowns.
|
||||
|
@ -111,7 +111,7 @@ For example, the application might pass a description like
|
|||
<graphics_board>ATI Rage 64MB</graphics_board>
|
||||
</pre>
|
||||
This makes it possible, for example, to report average or total
|
||||
performance statistics for 3DNow hosts constrasted
|
||||
performance statistics for 3DNow hosts contrasted
|
||||
with other Intel-compatible hosts.
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
<?
|
||||
require_once("docutil.php");
|
||||
page_head("Choosing BOINC project(s)");
|
||||
echo "
|
||||
BOINC was originally developed to support SETI@home.
|
||||
However, other distributed computing projects may use BOINC.
|
||||
BOINC allows you to participate in multiple projects,
|
||||
and to control how your resources are divided among these projects.
|
||||
|
||||
<p>
|
||||
Projects are independent, and each maintains its own servers.
|
||||
The BOINC developers and the University of California
|
||||
have no control over the creation of BOINC-based projects,
|
||||
and in general do not endorse them.
|
||||
|
||||
<p>
|
||||
When you participate in a BOINC-based project,
|
||||
you entrust that project with the health of your
|
||||
computer and the privacy of its data.
|
||||
In deciding whether to participate in a BOINC-based project,
|
||||
you should consider the following questions:
|
||||
|
||||
<ul>
|
||||
<li> Do you trust the project to ensure that their applications
|
||||
are free of bugs that could damage your computer or cause security problems?
|
||||
<li> Do you trust the project to use proper security practices on their servers?
|
||||
<li> For what purposes will the project use your computer?
|
||||
Does the project clearly state a limited range of purposes?
|
||||
<li> Who owns the results of the computation?
|
||||
If the results are valuable, will they be freely available to the public
|
||||
or will they belong to a for-profit business?
|
||||
</ul>
|
||||
|
||||
";
|
||||
page_tail();
|
||||
?>
|
|
@ -51,9 +51,6 @@ list_item("output file info",
|
|||
list_item("stderr",
|
||||
"The stderr output of the computation"
|
||||
);
|
||||
list_item("host",
|
||||
"The host that was sent the result."
|
||||
);
|
||||
list_item("received time",
|
||||
"The time when the result was received."
|
||||
);
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
<?
|
||||
require_once("docutil.php");
|
||||
page_head("Validation");
|
||||
echo "
|
||||
<p>
|
||||
The XML document listing the output files has the form: <pre>
|
||||
<file_info>...</file_info>
|
||||
[ ... ]
|
||||
<result>
|
||||
<name>foobar</name>
|
||||
<wu_name>blah</wu_name>
|
||||
<exit_status>blah</exit_status>
|
||||
<file_ref>...</file_ref>
|
||||
[ ... ]
|
||||
</result>
|
||||
</pre>
|
||||
The components are:
|
||||
<ul>
|
||||
<li> The <b><name></b> element is the result name.
|
||||
<li> The <b><wu_name></b> element is the workunit name.
|
||||
<li> Each <b><file_ref></b> element is an association to an
|
||||
output file, described by a corresponding <b><file_info></b> element.
|
||||
</ul>
|
||||
<p>
|
||||
The XML document describing the sizes and checksums of the output
|
||||
files is just a list of <b><file_info></b> elements, with the
|
||||
<b>nbytes</b> and <b>md5_cksum</b> fields present.
|
||||
The project back end
|
||||
must parse this field to find the locations and checksums of output files.
|
||||
";
|
||||
page_tail();
|
||||
?>
|
29
doc/work.php
29
doc/work.php
|
@ -29,7 +29,28 @@ list_item(
|
|||
);
|
||||
list_item(
|
||||
"error mask",
|
||||
"A bit mask of various error conditions (see below)"
|
||||
"A bit mask of various error conditions:
|
||||
<ul>
|
||||
<li> <b>WU_ERROR_COULDNT_SEND_RESULT</b>:
|
||||
The BOINC scheduler was unable to send the workunit
|
||||
to a large number (~100) of hosts,
|
||||
probably because its resource requirements (disk, memory, CPU)
|
||||
were too large for the hosts,
|
||||
or because no application version was available
|
||||
for the hosts' platforms.
|
||||
<li> <b>WU_ERROR_TOO_MANY_ERROR_RESULTS</b>:
|
||||
Too many results with error conditions
|
||||
(upload/download problem, client crashes)
|
||||
have been returned for this work unit.
|
||||
<li> <b>WU_ERROR_TOO_MANY_SUCCESS_RESULTS</b>:
|
||||
Too many successful results have been returned
|
||||
without a quorum being reached.
|
||||
This indicates that the application may
|
||||
be nondeterministic.
|
||||
<li> <b>WU_ERROR_TOO_MANY_TOTAL_RESULTS</b>:
|
||||
Too many total results have been sent for this workunit.
|
||||
</ul>
|
||||
"
|
||||
);
|
||||
list_end();
|
||||
|
||||
|
@ -43,7 +64,7 @@ list_item(
|
|||
"An estimate of the average number of floating-point operations
|
||||
required to complete the computation.
|
||||
This used to estimate how long the computation will
|
||||
take on a give host."
|
||||
take on a given host."
|
||||
);
|
||||
list_item(
|
||||
"rsc_fpops_bound",
|
||||
|
@ -82,6 +103,10 @@ list_item(
|
|||
a result to a client and receiving a reply.
|
||||
The scheduler won't issue a result if the estimated
|
||||
completion time exceeds this.
|
||||
If the client doesn't respond within this interval,
|
||||
the server 'gives up' on the result
|
||||
and generates a new result, to be assigned to another client.
|
||||
<p>
|
||||
Set this to several times the average execution time
|
||||
of a workunit on a typical PC.
|
||||
If you set it too low,
|
||||
|
|
|
@ -6,7 +6,7 @@ bin_PROGRAMS = crypt_prog
|
|||
EXTRA_PROGRAMS = md5_test shmem_test msg_test synch_test
|
||||
noinst_LIBRARIES = libboinc.a
|
||||
#libboinc_graphics.a
|
||||
EXTRA_DIST = result_state.h
|
||||
EXTRA_DIST = result_state.h parse.h std_fixes.h util.h
|
||||
|
||||
libboinc_a_SOURCES = \
|
||||
../api/boinc_api.C \
|
||||
|
|
|
@ -18,6 +18,9 @@
|
|||
//
|
||||
// Revision History:
|
||||
// $Log$
|
||||
// Revision 1.32 2003/12/24 00:50:50 davea
|
||||
// *** empty log message ***
|
||||
//
|
||||
// Revision 1.31 2003/12/01 23:28:46 korpela
|
||||
// Fix for systems with no statvfs.h and statfs defined in sys/statfs.h
|
||||
//
|
||||
|
@ -333,6 +336,23 @@ int dir_size(const char* dirpath, double& size) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
// on Windows: if fopen fails, and it's an open for write,
|
||||
// try again in 3 seconds
|
||||
// (since the file might be open by FastFind, Diskeeper etc.)
|
||||
//
|
||||
FILE* boinc_fopen(const char* path, const char* mode) {
|
||||
FILE* f;
|
||||
|
||||
f = fopen(path, mode);
|
||||
#ifdef _WIN32
|
||||
if (!f && strchr(mode, 'r')) {
|
||||
boinc_sleep(3.0);
|
||||
f = fopen(path, mode);
|
||||
}
|
||||
#endif
|
||||
return f;
|
||||
}
|
||||
|
||||
int boinc_copy(const char* orig, const char* newf) {
|
||||
#ifdef _WIN32
|
||||
if(CopyFile(orig, newf, FALSE))
|
||||
|
|
|
@ -44,6 +44,7 @@ extern int file_delete(const char*);
|
|||
extern int file_size(const char*, double&);
|
||||
extern int clean_out_dir(const char*);
|
||||
extern int dir_size(const char* dirpath, double&);
|
||||
extern FILE* boinc_fopen(const char* path, const char* mode);
|
||||
extern int boinc_copy(const char* orig, const char* newf);
|
||||
extern int boinc_rename(const char* old, const char* newf);
|
||||
extern int boinc_mkdir(const char*);
|
||||
|
|
Loading…
Reference in New Issue