chiark / gitweb /
main: disable nscd if we can to avoid deadlock, just in case
[elogind.git] / src / missing.h
index 602d44a97992a718cea0223614ecaafbe973c2ce..003c821f8490b018be22b0dc65c6adae72397970 100644 (file)
@@ -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