summaryrefslogtreecommitdiffstats
path: root/usr.sbin/powerd
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2008-11-18 15:48:23 +0000
committermav <mav@FreeBSD.org>2008-11-18 15:48:23 +0000
commitbb609f07ed37767e05b4719c6b85c7c5acde9bfa (patch)
tree6a1bfb6d57a1fdce493c26bc50e60ee8b7db3971 /usr.sbin/powerd
parent529c4f245c636f09c1d3b72560936d41cb36aed8 (diff)
downloadFreeBSD-src-bb609f07ed37767e05b4719c6b85c7c5acde9bfa.zip
FreeBSD-src-bb609f07ed37767e05b4719c6b85c7c5acde9bfa.tar.gz
Restore original frequency on exit.
PR: bin/113813
Diffstat (limited to 'usr.sbin/powerd')
-rw-r--r--usr.sbin/powerd/powerd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.sbin/powerd/powerd.c b/usr.sbin/powerd/powerd.c
index 23354b9..d421232 100644
--- a/usr.sbin/powerd/powerd.c
+++ b/usr.sbin/powerd/powerd.c
@@ -422,7 +422,7 @@ main(int argc, char * argv[])
int nfds;
struct pidfh *pfh = NULL;
const char *pidfile = NULL;
- int freq, curfreq, *freqs, i, j, *mwatts, numfreqs, load;
+ int freq, curfreq, initfreq, *freqs, i, j, *mwatts, numfreqs, load;
int ch, mode, mode_ac, mode_battery, mode_none;
uint64_t mjoules_used;
size_t len;
@@ -536,7 +536,7 @@ main(int argc, char * argv[])
signal(SIGINT, handle_sigs);
signal(SIGTERM, handle_sigs);
- freq = get_freq();
+ freq = initfreq = get_freq();
if (freq < 1)
freq = 1;
/* Main loop. */
@@ -682,6 +682,8 @@ main(int argc, char * argv[])
freqs[j]);
}
}
+ if (set_freq(initfreq))
+ warn("error setting CPU frequency %d", initfreq);
free(freqs);
free(mwatts);
devd_close();
OpenPOWER on IntegriCloud