int cg_pid_get_path(const char *controller, pid_t pid, char **path) {
_cleanup_fclose_ FILE *f = NULL;
char line[LINE_MAX];
+#if 0 // At elogind we do not want that (false alarm) "maybe uninitialized" warning
const char *fs, *controller_str;
+#else
+ const char *fs, *controller_str = NULL;
+#endif // 0
size_t cs = 0;
int unified;
#include "alloc-util.h"
#include "extract-word.h"
#include "fs-util.h"
-#include "glob-util.h"
+//#include "glob-util.h"
#include "log.h"
#include "macro.h"
#include "missing.h"
#include <fnmatch.h>
#include "alloc-util.h"
-#include "bpf-firewall.h"
+//#include "bpf-firewall.h"
#include "cgroup-util.h"
#include "cgroup.h"
#include "fd-util.h"
//#include "list.h"
//#include "time-util.h"
#include "cgroup-util.h"
-#include "ip-address-access.h"
+//#include "ip-address-access.h"
#if 0 /// UNNEEDED by elogind
typedef struct CGroupContext CGroupContext;
error);
}
+int method_halt(sd_bus_message *message, void *userdata, sd_bus_error *error) {
+ Manager *m = userdata;
+
+ log_debug_elogind("%s called", __FUNCTION__);
+
+ return method_do_shutdown_or_sleep(
+ m, message,
+ HANDLE_HALT,
+ INHIBIT_SHUTDOWN,
+ "org.freedesktop.login1.halt",
+ "org.freedesktop.login1.halt-multiple-sessions",
+ "org.freedesktop.login1.halt-ignore-inhibit",
+ NULL,
+ error);
+}
+
int method_suspend(sd_bus_message *message, void *userdata, sd_bus_error *error) {
Manager *m = userdata;
int manager_scheduled_shutdown_handler(sd_event_source *s, uint64_t usec,
void *userdata);
+int method_halt (sd_bus_message *message, void *userdata, sd_bus_error *error);
int method_hibernate (sd_bus_message *message, void *userdata, sd_bus_error *error);
int method_hybrid_sleep(sd_bus_message *message, void *userdata, sd_bus_error *error);
int method_poweroff (sd_bus_message *message, void *userdata, sd_bus_error *error);
#include "alloc-util.h"
#include "bus-error.h"
-#include "bus-unit-util.h"
+//#include "bus-unit-util.h"
#include "bus-util.h"
//#include "cgroup-show.h"
#include "cgroup-util.h"
ret = r;
}
+#if 0 /// Nothing in elogind uses mqueues
r = clean_posix_mq(uid, gid, rm);
if (r != 0) {
if (!rm)
if (ret == 0)
ret = r;
}
+#endif // 0
return ret;
}