From defbae7e7d6497255a9c638f44ea4c9a48a3c210 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Wed, 12 Jul 2006 22:25:27 +0000 Subject: [PATCH] *** empty log message *** svn path=/trunk/boinc/; revision=10637 --- checkin_notes | 152 +++++++++++++++++++----------------- client/client_types.C | 5 ++ client/gui_rpc_server_ops.C | 3 +- 3 files changed, 88 insertions(+), 72 deletions(-) diff --git a/checkin_notes b/checkin_notes index 3642594958..0da4030a45 100755 --- a/checkin_notes +++ b/checkin_notes @@ -7098,28 +7098,28 @@ David 30 June 2006 filesys.C David 30 June 2006 - - core client: ACTIVE_TASK::supports_graphics(): - return false if process isn't executing. - (prevent GUI from showing "show graphics" button - for results with no process, or suspended process) - - core client: on Windows command-line, when you close the window, - quit_client() gets called, - but control never returns to boinc_main_loop(), - so gstate.quit_activities() (and other cleanup stuff) isn't called, - so apps don't exit. - If you then start the core client again in the next 30 sec, - and exit quickly, another copy of apps gets started, - which waits to acquire slot lock, then decides it's in - standalone mode and opens a graphics window! Very confusing. + - core client: ACTIVE_TASK::supports_graphics(): + return false if process isn't executing. + (prevent GUI from showing "show graphics" button + for results with no process, or suspended process) + - core client: on Windows command-line, when you close the window, + quit_client() gets called, + but control never returns to boinc_main_loop(), + so gstate.quit_activities() (and other cleanup stuff) isn't called, + so apps don't exit. + If you then start the core client again in the next 30 sec, + and exit quickly, another copy of apps gets started, + which waits to acquire slot lock, then decides it's in + standalone mode and opens a graphics window! Very confusing. - I fixed this by moving all the cleanup code to a separate functions - (finalize()) and calling this directly from quit_client(). + I fixed this by moving all the cleanup code to a separate functions + (finalize()) and calling this directly from quit_client(). - By the way, why is main.C such a toxic waste dump? + By the way, why is main.C such a toxic waste dump? - client/ - app_graphics.C - main.C + client/ + app_graphics.C + main.C David 30 June 2006 - message tweaks @@ -7363,11 +7363,11 @@ David 9 July 2006 cpu_sched.C David 9 July 2006 - - core client: improve "RPC succeeded" message + - core client: improve "RPC succeeded" message - client/ - cs_scheduler.C - scheduler_op.C + client/ + cs_scheduler.C + scheduler_op.C David 9 July 2006 - core client: instead of calling compute_work_requests() @@ -7409,60 +7409,60 @@ Matt 10 July 2006 forum.inc David 11 July 2006 - - Feeder: an option so that apps have a "weight" (floating-pt) - that determines the proportions of work items inserted by the feeder. - I.e. if app 1 has weight .5 and app 2 has weight 1.5, - then we'll send 3 times as many results for app 2 as app 1 - - Feeder/scheduler: add an option "-reliable N": - This tags work items whose workunits are older than N days - as "need_reliable", - so that the scheduler can try to send them to "reliable" hosts - (those with expavg_credit > 70) - In no case send a "need_reliable" result to a host - with zero total credit. - - Feeder, with homogeneous redundancy: - when add a result with a sibling that's already sent - (or on a collision, if we learn that this is the case) - increment its infeasible_count. - This causes it to be sent quicker. - It's better to have the array full of results - that are not already committed to a platform. - - validator: add -sleep_interval cmdline arg - - Add TRANSITIONER_ITEM::res_received_time - (Nothing currently uses this - should we remove??) + - Feeder: an option so that apps have a "weight" (floating-pt) + that determines the proportions of work items inserted by the feeder. + I.e. if app 1 has weight .5 and app 2 has weight 1.5, + then we'll send 3 times as many results for app 2 as app 1 + - Feeder/scheduler: add an option "-reliable N": + This tags work items whose workunits are older than N days + as "need_reliable", + so that the scheduler can try to send them to "reliable" hosts + (those with expavg_credit > 70) + In no case send a "need_reliable" result to a host + with zero total credit. + - Feeder, with homogeneous redundancy: + when add a result with a sibling that's already sent + (or on a collision, if we learn that this is the case) + increment its infeasible_count. + This causes it to be sent quicker. + It's better to have the array full of results + that are not already committed to a platform. + - validator: add -sleep_interval cmdline arg + - Add TRANSITIONER_ITEM::res_received_time + (Nothing currently uses this - should we remove??) - NOTE: this update requires a database change: see html/ops/db_update.php + NOTE: this update requires a database change: see html/ops/db_update.php - (from Kevin Reed) + (from Kevin Reed) - db/ - boinc_db.C,h - schema.sql - html/ops/ - db_update.php - sched/ - feeder.C - sched_array.C - sched_send.C - sched_shmem.C,h - server_types.h - show_shmem.C - validator.C + db/ + boinc_db.C,h + schema.sql + html/ops/ + db_update.php + sched/ + feeder.C + sched_array.C + sched_send.C + sched_shmem.C,h + server_types.h + show_shmem.C + validator.C David 11 July 2006 - - core client: fix bug where the first log flag in the - list was getting skipped over. - This was due to a design flaw in the new XML parsing code. - To work around this, I changed the format of - the cc_config.xml file so that options are - enclosed in ... + - core client: fix bug where the first log flag in the + list was getting skipped over. + This was due to a design flaw in the new XML parsing code. + To work around this, I changed the format of + the cc_config.xml file so that options are + enclosed in ... - client/ - app.C - cs_statefile.C - log_flags.C,h - lib/ - parse.C + client/ + app.C + cs_statefile.C + log_flags.C,h + lib/ + parse.C Milos 11 July 2006 - Simple GUI Refresh @@ -7493,3 +7493,13 @@ Rom 12 July 2006 client/ main.C + +David 12 July 2006 + - core client: fix bug where sym links for project files + weren't getting written (missing fclose()) + - core client: fix crash on project detach + (PROJECT object was being referenced after it was deleted) + + client/ + client_types.C + gui_rpc_server_ops.C diff --git a/client/client_types.C b/client/client_types.C index 05d9d67978..10e69b1caf 100644 --- a/client/client_types.C +++ b/client/client_types.C @@ -519,6 +519,10 @@ void PROJECT::write_project_files(MIOFILE& f) { f.printf("\n"); } +// write symlinks for project files. +// Note: it's conceivable that one physical file +// has several logical names, so try them all +// int PROJECT::link_project_file(FILE_INFO* fip) { char project_dir[256], path[256]; unsigned int i; @@ -531,6 +535,7 @@ int PROJECT::link_project_file(FILE_INFO* fip) { FILE* f = boinc_fopen(path, "w"); if (!f) continue; fprintf(f, "%s/%s\n", project_dir, fip->name); + fclose(f); } return 0; } diff --git a/client/gui_rpc_server_ops.C b/client/gui_rpc_server_ops.C index cbfa897b49..6b2e5f584a 100644 --- a/client/gui_rpc_server_ops.C +++ b/client/gui_rpc_server_ops.C @@ -211,7 +211,6 @@ static void handle_project_op(char* buf, MIOFILE& fout, const char* op) { fout.printf("must detach using account manager"); return; } - gstate.detach_project(p); // writes state file // if project_init.xml refers to this project, // delete the file, otherwise we'll just @@ -225,6 +224,8 @@ static void handle_project_op(char* buf, MIOFILE& fout, const char* op) { ); } } + + gstate.detach_project(p); // writes state file; deletes p gstate.request_schedule_cpus("project detached by user"); } else if (!strcmp(op, "update")) { p->sched_rpc_pending = true;