From 9c7b56165c18991f325b09106318fa7afee98ec3 Mon Sep 17 00:00:00 2001 From: jsteube Date: Fri, 1 Dec 2017 11:25:37 +0100 Subject: [PATCH] Reset PID controller history data for GPU fan speed in case user resumes from a paused session --- docs/changes.txt | 1 + src/monitor.c | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/docs/changes.txt b/docs/changes.txt index 988b03be8..604cfb58e 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -21,6 +21,7 @@ ## - Show [r]esume in prompt in pause mode only and show [p]ause in prompt in resume mode only +- Reset PID controller history data for GPU fan speed in case user resumes from a paused session ## ## Technical diff --git a/src/monitor.c b/src/monitor.c index 0446d1a15..e0a41effa 100644 --- a/src/monitor.c +++ b/src/monitor.c @@ -127,12 +127,24 @@ static int monitor (hashcat_ctx_t *hashcat_ctx) u32 remove_left = user_options->remove_timer; u32 status_left = user_options->status_timer; + u32 devices_status_old = status_ctx->devices_status; + while (status_ctx->shutdown_inner == false) { sleep (sleep_time); if (status_ctx->devices_status == STATUS_INIT) continue; + if ((devices_status_old == STATUS_PAUSED) && (status_ctx->devices_status == STATUS_RUNNING)) + { + memset (fan_speed_chgd, 0, sizeof (fan_speed_chgd)); + + memset (temp_diff_old, 0, sizeof (temp_diff_old)); + memset (temp_diff_sum, 0, sizeof (temp_diff_sum)); + } + + devices_status_old = status_ctx->devices_status; + if (hwmon_check == true) { hc_thread_mutex_lock (status_ctx->mux_hwmon);