summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-06-03 14:08:44 +0200
committerLennart Poettering <lennart@poettering.net>2010-06-03 14:08:44 +0200
commit777570d4c1f582b14dda52ffc226b20fb4346940 (patch)
tree83391cb3b0440212090de173b8bb65e3959fa4e9
parentbe9eb39a6c5fd2533128721458f87585b8f10fd6 (diff)
daemon: bump up timer slack, our timers don't need to be on time
-rw-r--r--rtkit-daemon.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/rtkit-daemon.c b/rtkit-daemon.c
index 154889a..01c8bc6 100644
--- a/rtkit-daemon.c
+++ b/rtkit-daemon.c
@@ -2286,6 +2286,7 @@ int main(int argc, char *argv[]) {
DBusConnection *bus = NULL;
int ret = 1;
struct rtkit_user *u;
+ unsigned long slack_ns;
if (parse_command_line(argc, argv, &ret) <= 0)
goto finish;
@@ -2299,6 +2300,12 @@ int main(int argc, char *argv[]) {
LOG_NDELAY|LOG_PID|(log_stderr ? LOG_PERROR : 0),
LOG_DAEMON);
+ /* Raise our timer slack, we don't really need to be woken up
+ * on time. */
+ slack_ns = (((unsigned long) canary_watchdog_msec - (unsigned long) canary_cheep_msec) / 2UL) * 1000000UL;
+ if (prctl(PR_SET_TIMERSLACK, slack_ns) < 0)
+ syslog(LOG_WARNING, "PRT_SET_TIMERSLACK failed: %s\n", strerror(errno));
+
self_drop_realtime(our_nice_level);
if (setup_dbus(&bus) < 0)