#include "user-util.h"
#include "util.h"
-// #define RELEASE_USEC (20*USEC_PER_SEC)
+#define RELEASE_USEC (20*USEC_PER_SEC)
static void session_remove_fifo(Session *s);
return 0;
}
-#endif // 0
-
+#else
static int session_start_cgroup(Session *s) {
int r;
return 0;
}
-
+#endif // 0
int session_start(Session *s) {
int r;
return r;
/* Create cgroup */
-/// elogind does its own session management without systemd units,
-/// slices and scopes
-#if 0
+#if 0 /// elogind does its own session management
r = session_start_scope(s);
#else
r = session_start_cgroup(s);
return 0;
}
-#endif // 0
-
+#else
static int session_stop_cgroup(Session *s, bool force) {
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
int r;
return 0;
}
+#endif // 0
int session_stop(Session *s, bool force) {
int r;
if (s->timer_event_source)
return 0;
- /* In systemd, session release is triggered by user jobs
- dying. In elogind we don't have that so go ahead and stop
- now. */
-#if 0
+#if 0 /// UNNEEDED by elogind
return sd_event_add_time(s->manager->event,
&s->timer_event_source,
CLOCK_MONOTONIC,
now(CLOCK_MONOTONIC) + RELEASE_USEC, 0,
release_timeout_callback, s);
-
#else
+ /* In systemd, session release is triggered by user jobs
+ dying. In elogind we don't have that so go ahead and stop
+ now. */
return session_stop(s, false);
#endif // 0
}
return true;
#endif // 0
- if ( s->user->manager
- && (cg_is_empty_recursive (SYSTEMD_CGROUP_CONTROLLER, s->user->manager->cgroup_root) > 0) )
- return true;
-
return false;
}