From: Lennart Poettering Date: Sun, 25 Nov 2012 18:43:48 +0000 (+0100) Subject: manager: fix build on 32bit systems X-Git-Tag: v197~187 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=8a3a1704c7738a49385e1e1a2a5041f50e79f57e;hp=ee7c77db55cb105e69f1a088539da602c706c611 manager: fix build on 32bit systems --- diff --git a/src/core/manager.c b/src/core/manager.c index 54600c6bf..1ddd8bae6 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -154,7 +154,12 @@ static int manager_setup_time_change(Manager *m) { } zero(its); - its.it_value.tv_sec = 10000000000; /* Year 2287 or so... */ + + /* We only care for the cancellation event, hence we set the + * timeout to the latest possible value. */ + assert_cc(sizeof(time_t) == sizeof(long)); + its.it_value.tv_sec = LONG_MAX; + if (timerfd_settime(m->time_change_watch.fd, TFD_TIMER_ABSTIME|TFD_TIMER_CANCEL_ON_SET, &its, NULL) < 0) { log_debug("Failed to set up TFD_TIMER_CANCEL_ON_SET, ignoring: %m"); close_nointr_nofail(m->time_change_watch.fd);