diff --git a/checkin_notes b/checkin_notes index 5a0b283b04..a95271ce32 100644 --- a/checkin_notes +++ b/checkin_notes @@ -839,3 +839,13 @@ David 16 Feb 2011 client/ cs_scheduler.cpp + +David 16 Feb 2011 + - client: when exclusive app mechanism is used (CPU or GPU) + wait for 30 secs after excl app exits + before restarting computation + + client/ + app.cpp,h + client_state.h + cs_prefs.cpp diff --git a/client/app.cpp b/client/app.cpp index c0d8a75bec..d33c79d736 100644 --- a/client/app.cpp +++ b/client/app.cpp @@ -71,8 +71,8 @@ using std::max; using std::min; -bool exclusive_app_running; -bool exclusive_gpu_app_running; +double exclusive_app_running = 0; +double exclusive_gpu_app_running = 0; int gpu_suspend_reason; double non_boinc_cpu_usage; @@ -330,22 +330,22 @@ void ACTIVE_TASK_SET::get_memory_usage() { } } - exclusive_app_running = false; - bool old_egar = exclusive_gpu_app_running; - exclusive_gpu_app_running = false; + exclusive_app_running = 0; + double old_egar = exclusive_gpu_app_running; + exclusive_gpu_app_running = 0; for (i=0; i global_prefs.suspend_cpu_usage) { @@ -159,7 +159,7 @@ int CLIENT_STATE::check_suspend_processing() { gpu_suspend_reason = SUSPEND_REASON_USER_REQ; break; default: - if (exclusive_gpu_app_running) { + if (now - exclusive_gpu_app_running < EXCLUSIVE_APP_WAIT) { gpu_suspend_reason = SUSPEND_REASON_EXCLUSIVE_APP_RUNNING; break; }