diff --git a/checkin_notes b/checkin_notes index a7b248a080..e26c3e3b66 100755 --- a/checkin_notes +++ b/checkin_notes @@ -23048,3 +23048,38 @@ David 20 Jan 2005 - converted code to LGPL license (essentially all files) + +Rom 20 Jan 2005 + - Bug Fix: Remove some code that was keeping half of the + check_suspend_activities conditions to be skipped. + + NOTE: basically this was causing BOINC to alternate + between suspended mode and non-suspended mode twice + a second because the check for user idle activity + happened after we returned from the function which + means that reason was returning 0, meaning we shouldn't + be suspended. + + - Bug Fix: Setting activities_suspended should happen outside + the check for tasks_restarted, since it is used later in + the function, and activities_suspended may not be what + we expect it to be. + - Cleanup: In the idle detection routine save the needed values + to a variable so we can see them as we are steping though + the code, let the optimizer deal with it on release builds. + - Bug Fix: Remove the Modify option in setup, our setup is an + all or nothing deal. + - Bug Fix: Configure setup for automatic upgrades, this requires + the previous MSI databases from the builds we release to + public. + + NOTE: I need to talk to David about this a little bit, but + I think it is doable. + + client/ + client_state.C + cs_prefs.C + client/win + hostinfo_win.cpp + win_build/installerv2/ + BOINC.ism diff --git a/client/client_state.C b/client/client_state.C index 45163f11c0..e925442834 100644 --- a/client/client_state.C +++ b/client/client_state.C @@ -378,8 +378,8 @@ bool CLIENT_STATE::do_something(double now) { resume_activities(); } } - activities_suspended = (suspend_reason != 0); } + activities_suspended = (suspend_reason != 0); // if we're doing CPU benchmarks, don't do much else // diff --git a/client/cs_prefs.C b/client/cs_prefs.C index 78ee93e125..3dfab02e61 100644 --- a/client/cs_prefs.C +++ b/client/cs_prefs.C @@ -132,7 +132,6 @@ inline bool now_between_two_hours(int start_hour, int end_hour) { // we should suspend activities. // void CLIENT_STATE::check_suspend_activities(double now, int& reason) { - static double last_time = 0; reason = 0; // Don't work while we're running CPU benchmarks @@ -148,9 +147,6 @@ void CLIENT_STATE::check_suspend_activities(double now, int& reason) { return; } - if (now - last_time < 5.0) return; - last_time = now; - if (!global_prefs.run_on_batteries && host_info.host_is_running_on_batteries() ) { diff --git a/client/win/hostinfo_win.cpp b/client/win/hostinfo_win.cpp index 580332fd57..2836402f34 100755 --- a/client/win/hostinfo_win.cpp +++ b/client/win/hostinfo_win.cpp @@ -384,7 +384,9 @@ bool HOST_INFO::users_idle(bool check_all_logins, double idle_time_to_run) { if (g_hIdleDetectionDll) { if (fn) { - return (fn() / 1000) > 60 * idle_time_to_run; + double seconds_idle = fn() / 1000; + double seconds_time_to_run = 60 * idle_time_to_run; + return seconds_idle > seconds_time_to_run; } }