chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
journald: don't recheck /var availability more often than 30s
[elogind.git]
/
src
/
logind.c
diff --git
a/src/logind.c
b/src/logind.c
index b84242e1ed74d95159a626730bcaed5671ba9ac7..4633a5ef29109c9cf51538dfdc99deb5de96a4fb 100644
(file)
--- a/
src/logind.c
+++ b/
src/logind.c
@@
-274,8
+274,7
@@
int manager_process_seat_device(Manager *m, struct udev_device *d) {
if (streq_ptr(udev_device_get_action(d), "remove")) {
if (streq_ptr(udev_device_get_action(d), "remove")) {
- /* FIXME: use syspath instead of sysname here, as soon as fb driver is fixed */
- device = hashmap_get(m->devices, udev_device_get_sysname(d));
+ device = hashmap_get(m->devices, udev_device_get_syspath(d));
if (!device)
return 0;
if (!device)
return 0;
@@
-295,7
+294,7
@@
int manager_process_seat_device(Manager *m, struct udev_device *d) {
return 0;
}
return 0;
}
- r = manager_add_device(m, udev_device_get_sys
name
(d), &device);
+ r = manager_add_device(m, udev_device_get_sys
path
(d), &device);
if (r < 0)
return r;
if (r < 0)
return r;
@@
-414,6
+413,7
@@
static int manager_enumerate_users_from_cgroup(Manager *m) {
int r = 0;
char *name;
DIR *d;
int r = 0;
char *name;
DIR *d;
+ int k;
r = cg_enumerate_subgroups(SYSTEMD_CGROUP_CONTROLLER, m->cgroup_path, &d);
if (r < 0) {
r = cg_enumerate_subgroups(SYSTEMD_CGROUP_CONTROLLER, m->cgroup_path, &d);
if (r < 0) {
@@
-424,9
+424,8
@@
static int manager_enumerate_users_from_cgroup(Manager *m) {
return r;
}
return r;
}
- while ((
r
= cg_read_subgroup(d, &name)) > 0) {
+ while ((
k
= cg_read_subgroup(d, &name)) > 0) {
User *user;
User *user;
- int k;
k = manager_add_user_by_name(m, name, &user);
if (k < 0) {
k = manager_add_user_by_name(m, name, &user);
if (k < 0) {
@@
-447,6
+446,9
@@
static int manager_enumerate_users_from_cgroup(Manager *m) {
free(name);
}
free(name);
}
+ if (r >= 0 && k < 0)
+ r = k;
+
closedir(d);
return r;
closedir(d);
return r;