We actually allow draining a timer so we cannot be sure that a timer has
valid data that we can read. We already handle the non-blocking case
everywhere, we just missed setting this flag.
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
timer->cb = cb;
timer->data = data;
- timer->fd = timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC);
+ timer->fd = timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC | TFD_NONBLOCK);
if (timer->fd < 0) {
llog_error(timer, "cannot create timerfd (%d): %m", errno);
ret = -EFAULT;