- API: Win: resume other threads before exiting from timer thread.

Attempt to fix E@h bug.
- client: fix messages: asking for X instances doesn't mean
    that X instances are idle

svn path=/trunk/boinc/; revision=20772
This commit is contained in:
David Anderson 2010-03-02 18:58:34 +00:00
parent 4f2c78d4e9
commit e8f8c7bde2
4 changed files with 21 additions and 5 deletions

View File

@ -593,6 +593,10 @@ static void exit_from_timer_thread(int status) {
); );
#endif #endif
#ifdef _WIN32 #ifdef _WIN32
// TerminateProcess() doesn't work if there are suspended threads?
if (boinc_status.suspended) {
retval = resume_activities();
}
// this seems to work OK on Windows // this seems to work OK on Windows
// //
boinc_exit(status); boinc_exit(status);

View File

@ -1507,8 +1507,8 @@ Charlie 2 Mar 2010
Charlie 2 Mar 2010 Charlie 2 Mar 2010
- MGR: Keep getting messages even if the Event Log is not open; otherwise - MGR: Keep getting messages even if the Event Log is not open; otherwise
some may be lost due to the limited size of the client's buffer, causing some may be lost due to the limited size of the client's buffer,
gaps when the Event Log is later opened. causing gaps when the Event Log is later opened.
clientgui/ clientgui/
MainDocument.cpp MainDocument.cpp
@ -1519,3 +1519,14 @@ Rom 2 Mar 2010
client/ client/
hostinfo_win.cpp hostinfo_win.cpp
David 2 Mar 2010
- API: Win: resume other threads before exiting from timer thread.
Attempt to fix E@h bug.
- client: fix messages: asking for X instances doesn't mean
that X instances are idle
api/
boinc_api.cpp
client/
scheduler_op.cpp

View File

@ -251,18 +251,18 @@ int SCHEDULER_OP::start_rpc(PROJECT* p) {
} }
if (log_flags.sched_op_debug) { if (log_flags.sched_op_debug) {
msg_printf(p, MSG_INFO, msg_printf(p, MSG_INFO,
"[sched_op_debug] CPU work request: %.2f seconds; %.2f idle CPUs", "[sched_op_debug] CPU work request: %.2f seconds; %.2f CPUs",
cpu_work_fetch.req_secs, cpu_work_fetch.req_instances cpu_work_fetch.req_secs, cpu_work_fetch.req_instances
); );
if (coproc_cuda) { if (coproc_cuda) {
msg_printf(p, MSG_INFO, msg_printf(p, MSG_INFO,
"[sched_op_debug] NVIDIA GPU work request: %.2f seconds; %.2f idle GPUs", "[sched_op_debug] NVIDIA GPU work request: %.2f seconds; %.2f GPUs",
cuda_work_fetch.req_secs, cuda_work_fetch.req_instances cuda_work_fetch.req_secs, cuda_work_fetch.req_instances
); );
} }
if (coproc_ati) { if (coproc_ati) {
msg_printf(p, MSG_INFO, msg_printf(p, MSG_INFO,
"[sched_op_debug] ATI GPU work request: %.2f seconds; %.2f idle GPUs", "[sched_op_debug] ATI GPU work request: %.2f seconds; %.2f GPUs",
ati_work_fetch.req_secs, ati_work_fetch.req_instances ati_work_fetch.req_secs, ati_work_fetch.req_instances
); );
} }

View File

@ -250,6 +250,7 @@ language("French", array(
site("http://www.boinc-af.org", "L'Alliance Francophone"), site("http://www.boinc-af.org", "L'Alliance Francophone"),
)); ));
language("German", array( language("German", array(
site("http://www.crunchers-freiburg.de/", "crunchers@freiburg"),
//site("http://www.boinc-gemeinschaft.de/", "BOINC Gemeinschaft"), //site("http://www.boinc-gemeinschaft.de/", "BOINC Gemeinschaft"),
site("http://www.gridcommunity.de/index.php", "International Grid Community"), site("http://www.gridcommunity.de/index.php", "International Grid Community"),
site("http://www.swissteam.net/", "SwissTeam.net"), site("http://www.swissteam.net/", "SwissTeam.net"),