chiark / gitweb /
udev: set default rules permissions only at "add" events
[elogind.git] / src / core / manager.c
index d4afc931f3d7270e3fa43650312e7b2e10b8f234..b538a9a3ae92007687eff628e135ae85d86be5bb 100644 (file)
@@ -70,6 +70,7 @@
 #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
@@ -80,6 +81,8 @@
 /* Where clients shall send notification messages to */
 #define NOTIFY_SOCKET "@/org/freedesktop/systemd1/notify"
 
+#define TIME_T_MAX (time_t)((1UL << ((sizeof(time_t) << 3) - 1)) - 1)
+
 static int manager_setup_notify(Manager *m) {
         union {
                 struct sockaddr sa;
@@ -122,7 +125,7 @@ static int manager_setup_notify(Manager *m) {
         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;
         }
 
@@ -302,6 +305,7 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) {
 
         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;