chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sd-booted: update sd_booted() check a bit
[elogind.git]
/
src
/
libsystemd-daemon
/
sd-daemon.c
diff --git
a/src/libsystemd-daemon/sd-daemon.c
b/src/libsystemd-daemon/sd-daemon.c
index 5b92e2e3dbc908535053cb5056b06998affe0e1d..79d8ca3709ae143c62784174801a5d770dde6793 100644
(file)
--- a/
src/libsystemd-daemon/sd-daemon.c
+++ b/
src/libsystemd-daemon/sd-daemon.c
@@
-519,18
+519,15
@@
_sd_export_ int sd_booted(void) {
#if defined(DISABLE_SYSTEMD) || !defined(__linux__)
return 0;
#else
#if defined(DISABLE_SYSTEMD) || !defined(__linux__)
return 0;
#else
+ struct stat st;
- struct stat a, b;
+ /* We test whether the runtime unit file directory has been
+ * created. This takes place in mount-setup.c, so is
+ * guaranteed to happen very early during boot. */
- /* We simply test whether the systemd cgroup hierarchy is
- * mounted */
-
- if (lstat("/sys/fs/cgroup", &a) < 0)
- return 0;
-
- if (lstat("/sys/fs/cgroup/systemd", &b) < 0)
+ if (lstat("/run/systemd/system/", &st) < 0)
return 0;
return 0;
- return
a.st_dev != b.st_dev
;
+ return
!!S_ISDIR(st.st_mode)
;
#endif
}
#endif
}