summaryrefslogtreecommitdiff
path: root/src/missing.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-07-16 03:07:53 +0200
committerLennart Poettering <lennart@poettering.net>2010-07-16 03:07:53 +0200
commitad780f1991d81c8013cc345488b9a035bf30aae7 (patch)
tree1de5cbb89800a32833d42808403c54e99c04e5e7 /src/missing.h
parent949c6510326c8d62bfae9866ebfda9506d0eb755 (diff)
main: disable nscd if we can to avoid deadlock, just in case
Diffstat (limited to 'src/missing.h')
-rw-r--r--src/missing.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/missing.h b/src/missing.h
index 602d44a979..003c821f84 100644
--- a/src/missing.h
+++ b/src/missing.h
@@ -29,6 +29,8 @@
#include <fcntl.h>
#include <unistd.h>
+#include "macro.h"
+
#ifndef RLIMIT_RTTIME
#define RLIMIT_RTTIME 15
#endif
@@ -53,4 +55,12 @@ static inline int pivot_root(const char *new_root, const char *put_old) {
return syscall(SYS_pivot_root, new_root, put_old);
}
+/* This is an internal glibc function call. We are not supposed to
+ * call this, because we are not nscd. However sometimes we feel
+ * really dangerous and do it nonetheless. Muahahah! But at least we
+ * protect this with a weak ref just in case glibc takes this away
+ * from us. */
+
+static void nss_disable_nscd(void) _weakref_(__nss_disable_nscd);
+
#endif