mirror of https://github.com/BOINC/boinc.git
- fix a few unlikely but possible file-descriptor leaks
- remote job submission: always compute fraction done when showing batch list; check for nonexistent user
This commit is contained in:
parent
5b740acee0
commit
1e06eb2fda
|
@ -6554,3 +6554,18 @@ David 1 Nov 2012
|
|||
common_defs.h
|
||||
filesys.h
|
||||
gui_rpc_client.h
|
||||
|
||||
David 1 Nov 2012
|
||||
- fix a few unlikely but possible file-descriptor leaks
|
||||
- remote job submission: always compute fraction done when showing
|
||||
batch list; check for nonexistent user
|
||||
|
||||
client/
|
||||
cs_scheduler.cpp
|
||||
html/user/
|
||||
submit.php
|
||||
lib/
|
||||
cert_sig.cpp
|
||||
mem_usage.cpp
|
||||
sched/
|
||||
sched_timezone.cpp
|
||||
|
|
|
@ -369,6 +369,7 @@ int CLIENT_STATE::make_scheduler_request(PROJECT* p) {
|
|||
fprintf(f, "<client_opaque>\n<![CDATA[\n");
|
||||
copy_stream(cof, f);
|
||||
fprintf(f, "\n]]>\n</client_opaque>\n");
|
||||
fclose(cof);
|
||||
}
|
||||
|
||||
fprintf(f, "</scheduler_request>\n");
|
||||
|
|
|
@ -31,7 +31,7 @@ ini_set('display_startup_errors', true);
|
|||
//
|
||||
function show_batches($batches) {
|
||||
foreach ($batches as $batch) {
|
||||
if ($batch->state < BATCH_STATE_COMPLETE) {
|
||||
if ($batch->state < BATCH_STATE_COMPLETE || $batch->fraction_done < 1) {
|
||||
$wus = BoincWorkunit::enum("batch = $batch->id");
|
||||
$batch = get_batch_params($batch, $wus);
|
||||
}
|
||||
|
@ -42,7 +42,11 @@ function show_batches($batches) {
|
|||
$batch->app_name = "unknown";
|
||||
}
|
||||
$user = BoincUser::lookup_id($batch->user_id);
|
||||
$batch->user_name = $user->name;
|
||||
if ($user) {
|
||||
$batch->user_name = $user->name;
|
||||
} else {
|
||||
$batch->user_name = "missing user $batch->user_id";
|
||||
}
|
||||
}
|
||||
|
||||
$first = true;
|
||||
|
|
|
@ -150,6 +150,7 @@ int CERT_SIGS::parse_file(const char* filename) {
|
|||
mf.init_file(f);
|
||||
XML_PARSER xp(&mf);
|
||||
if (!xp.parse_start("signatures")) {
|
||||
fclose(f);
|
||||
return ERR_XML_PARSE;
|
||||
}
|
||||
retval = this->parse(xp);
|
||||
|
|
|
@ -118,6 +118,7 @@ int mem_usage(double& vm_usage, double& resident_set) {
|
|||
++p; // move past space
|
||||
}
|
||||
if (!p) {
|
||||
fclose(f);
|
||||
return ERR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
|
|
@ -124,14 +124,18 @@ URLTYPE* read_download_list() {
|
|||
}
|
||||
|
||||
// read in lines from file
|
||||
//
|
||||
while (1) {
|
||||
// allocate memory in blocks
|
||||
if ((count % BLOCKSIZE)==0) {
|
||||
cached=(URLTYPE *)realloc(cached, (count+BLOCKSIZE)*sizeof(URLTYPE));
|
||||
if (!cached) return NULL;
|
||||
if (!cached) {
|
||||
fclose(fp);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
// read timezone offset and URL from file, and store in cache
|
||||
// list
|
||||
// read timezone offset and URL from file, and store in cache list
|
||||
//
|
||||
if (2==fscanf(fp, "%d %s", &(cached[count].zone), cached[count].name)) {
|
||||
count++;
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue