diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-07-16 03:07:53 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-07-16 03:07:53 +0200 |
commit | ad780f1991d81c8013cc345488b9a035bf30aae7 (patch) | |
tree | 1de5cbb89800a32833d42808403c54e99c04e5e7 /src/missing.h | |
parent | 949c6510326c8d62bfae9866ebfda9506d0eb755 (diff) |
main: disable nscd if we can to avoid deadlock, just in case
Diffstat (limited to 'src/missing.h')
-rw-r--r-- | src/missing.h | 10 |
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 |