From d889a2069a87e4617b32ddbdeace5a53a12c699d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 8 May 2012 19:02:25 +0200 Subject: logind: implement suspend/hibernate calls with inhibition logic --- src/systemctl/systemctl.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/systemctl') diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 762b5be346..4708a35835 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -1750,6 +1750,14 @@ static int reboot_with_logind(DBusConnection *bus, enum action a) { method = "PowerOff"; break; + case ACTION_SUSPEND: + method = "Suspend"; + break; + + case ACTION_HIBERNATE: + method = "Hibernate"; + break; + default: return -EINVAL; } @@ -1839,7 +1847,9 @@ static int start_special(DBusConnection *bus, char **args) { /* first try logind, to allow authentication with polkit */ if (geteuid() != 0 && (a == ACTION_POWEROFF || - a == ACTION_REBOOT)) { + a == ACTION_REBOOT || + a == ACTION_SUSPEND || + a == ACTION_HIBERNATE)) { r = reboot_with_logind(bus, a); if (r >= 0) return r; -- cgit v1.2.3-54-g00ecf