#include "cgroup-util.h"
#include "path-util.h"
#include "audit-fd.h"
+#include "efivars.h"
/* As soon as 16 units are in our GC queue, make sure to run a gc sweep */
#define GC_QUEUE_ENTRIES_MAX 16
ev.data.ptr = &m->notify_watch;
if (epoll_ctl(m->epoll_fd, EPOLL_CTL_ADD, m->notify_watch.fd, &ev) < 0) {
- log_error("Failed to add timer change fd to epoll: %m");
+ log_error("Failed to add notification socket fd to epoll: %m");
return -errno;
}
/* 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;
+ assert_cc(sizeof(time_t) == sizeof(TIME_T_MAX));
+ its.it_value.tv_sec = TIME_T_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");
return -ENOMEM;
dual_timestamp_get(&m->userspace_timestamp);
+ dual_timestamp_from_monotonic(&m->kernel_timestamp, 0);
+ efi_get_boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp);
m->running_as = running_as;
m->name_data_slot = m->conn_data_slot = m->subscribed_data_slot = -1;