aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/powerd
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2008-11-18 15:48:23 +0000
committerAlexander Motin <mav@FreeBSD.org>2008-11-18 15:48:23 +0000
commit8cb16fdbea6bec0f2062d89afd912bead63d4689 (patch)
tree6a1bfb6d57a1fdce493c26bc50e60ee8b7db3971 /usr.sbin/powerd
parent21543d80553bd935df77ca2352444dcbf5963398 (diff)
downloadsrc-8cb16fdbea6bec0f2062d89afd912bead63d4689.tar.gz
src-8cb16fdbea6bec0f2062d89afd912bead63d4689.zip
Restore original frequency on exit.
PR: bin/113813
Notes
Notes: svn path=/head/; revision=185053
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 23354b9be061..d42123241c95 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();