projects
/
platform
/
upstream
/
systemd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8f7a3c1
)
cgroup: don't recheck all the time whether the systemd hierarchy is mounted, to make...
author
Lennart Poettering
<lennart@poettering.net>
Tue, 15 Mar 2011 20:21:38 +0000
(21:21 +0100)
committer
Lennart Poettering
<lennart@poettering.net>
Tue, 15 Mar 2011 20:21:38 +0000
(21:21 +0100)
src/cgroup-util.c
patch
|
blob
|
history
diff --git
a/src/cgroup-util.c
b/src/cgroup-util.c
index
bbadc78
..
090573b
100644
(file)
--- a/
src/cgroup-util.c
+++ b/
src/cgroup-util.c
@@
-484,6
+484,7
@@
int cg_get_path(const char *controller, const char *path, const char *suffix, ch
const char *p;
char *mp;
int r;
+ static __thread bool good = false;
assert(controller);
assert(fs);
@@
-504,9
+505,14
@@
int cg_get_path(const char *controller, const char *path, const char *suffix, ch
if (asprintf(&mp, "/sys/fs/cgroup/%s", p) < 0)
return -ENOMEM;
- if ((r = path_is_mount_point(mp)) <= 0) {
- free(mp);
- return r < 0 ? r : -ENOENT;
+ if (!good) {
+ if ((r = path_is_mount_point(mp)) <= 0) {
+ free(mp);
+ return r < 0 ? r : -ENOENT;
+ }
+
+ /* Cache this to save a few stat()s */
+ good = true;
}
if (path && suffix)