chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Prep v234: Re-add user/session to the gc_queue when stopping.
[elogind.git]
/
src
/
login
/
logind-dbus.c
diff --git
a/src/login/logind-dbus.c
b/src/login/logind-dbus.c
index 971b447a7cacef640fdac75a0eb4f59f59b4218c..70d2b1ffc0f9c463f3d0c14c500be2857eba788b 100644
(file)
--- a/
src/login/logind-dbus.c
+++ b/
src/login/logind-dbus.c
@@
-69,6
+69,9
@@
int manager_get_session_from_creds(Manager *m, sd_bus_message *message, const ch
return r;
r = sd_bus_creds_get_session(creds, &name);
return r;
r = sd_bus_creds_get_session(creds, &name);
+ if (r == -ENXIO)
+ return sd_bus_error_setf(error, BUS_ERROR_NO_SESSION_FOR_PID,
+ "Caller does not belong to any known session");
if (r < 0)
return r;
}
if (r < 0)
return r;
}
@@
-1390,7
+1393,6
@@
static int method_flush_devices(sd_bus_message *message, void *userdata, sd_bus_
return sd_bus_reply_method_return(message, NULL);
}
return sd_bus_reply_method_return(message, NULL);
}
-#if 0 /// elogind has its own variant in elogind-dbus.c
static int have_multiple_sessions(
Manager *m,
uid_t uid) {
static int have_multiple_sessions(
Manager *m,
uid_t uid) {
@@
-1410,6
+1412,7
@@
static int have_multiple_sessions(
return false;
}
return false;
}
+#if 0 /// elogind has its own variant in elogind-dbus.c
static int bus_manager_log_shutdown(
Manager *m,
InhibitWhat w,
static int bus_manager_log_shutdown(
Manager *m,
InhibitWhat w,
@@
-1604,8
+1607,13
@@
int manager_dispatch_delayed(Manager *manager, bool timeout) {
return 1;
}
return 1;
}
+#endif // 0
+#if 0 /// elogind-dbus.c needs to access this
static int manager_inhibit_timeout_handler(
static int manager_inhibit_timeout_handler(
+#else
+int manager_inhibit_timeout_handler(
+#endif // 0
sd_event_source *s,
uint64_t usec,
void *userdata) {
sd_event_source *s,
uint64_t usec,
void *userdata) {
@@
-1620,6
+1628,7
@@
static int manager_inhibit_timeout_handler(
return (r < 0) ? r : 0;
}
return (r < 0) ? r : 0;
}
+#if 0 /// elogind has its own variant in elogind-dbus.c
static int delay_shutdown_or_sleep(
Manager *m,
InhibitWhat w,
static int delay_shutdown_or_sleep(
Manager *m,
InhibitWhat w,
@@
-1655,8
+1664,13
@@
static int delay_shutdown_or_sleep(
return 0;
}
return 0;
}
+#endif // 0
+#if 0 /// elogind-dbus.c needs to access this
static int send_prepare_for(Manager *m, InhibitWhat w, bool _active) {
static int send_prepare_for(Manager *m, InhibitWhat w, bool _active) {
+#else
+int send_prepare_for(Manager *m, InhibitWhat w, bool _active) {
+#endif // 0
static const char * const signal_name[_INHIBIT_WHAT_MAX] = {
[INHIBIT_SHUTDOWN] = "PrepareForShutdown",
static const char * const signal_name[_INHIBIT_WHAT_MAX] = {
[INHIBIT_SHUTDOWN] = "PrepareForShutdown",
@@
-1678,6
+1692,7
@@
static int send_prepare_for(Manager *m, InhibitWhat w, bool _active) {
active);
}
active);
}
+#if 0 /// elogind has its own variant in elogind-dbus.c
int bus_manager_shutdown_or_sleep_now_or_later(
Manager *m,
const char *unit_name,
int bus_manager_shutdown_or_sleep_now_or_later(
Manager *m,
const char *unit_name,
@@
-1714,8
+1729,13
@@
int bus_manager_shutdown_or_sleep_now_or_later(
return r;
}
return r;
}
+#endif // 0
+#if 0 /// elogind-dbus.c needs to access this
static int verify_shutdown_creds(
static int verify_shutdown_creds(
+#else
+int verify_shutdown_creds(
+#endif // 0
Manager *m,
sd_bus_message *message,
InhibitWhat w,
Manager *m,
sd_bus_message *message,
InhibitWhat w,
@@
-1777,6
+1797,7
@@
static int verify_shutdown_creds(
return 0;
}
return 0;
}
+#if 0 /// elogind has its own variant in elogind-dbus.c
static int method_do_shutdown_or_sleep(
Manager *m,
sd_bus_message *message,
static int method_do_shutdown_or_sleep(
Manager *m,
sd_bus_message *message,