- Timestamp:
- Jun 14, 2013, 12:50:47 PM (11 years ago)
- Location:
- branches/fc19-dev
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/fc19-dev
- Property svn:mergeinfo changed
/trunk (added) merged: 2405-2421,2425-2428,2432-2433
- Property svn:mergeinfo changed
-
branches/fc19-dev/server/common/oursrc/nss_nonlocal/nonlocal-shadow.c
r1825 r2434 24 24 25 25 #define _GNU_SOURCE 26 26 27 #include <sys/types.h> 27 #include <unistd.h> 28 #include <dlfcn.h> 29 #include <errno.h> 30 #include <nss.h> 31 #include <shadow.h> 32 #include <stdbool.h> 33 #include <stddef.h> 28 34 #include <stdlib.h> 29 #include <stdint.h>30 35 #include <string.h> 31 #include <dlfcn.h>32 #include <stdio.h>33 36 #include <syslog.h> 34 #include <errno.h>35 #include <shadow.h>36 #include <nss.h>37 37 38 38 #include "nsswitch-internal.h" … … 59 59 60 60 61 static bool spent_initialized = false; 61 62 static service_user *spent_startp, *spent_nip; 62 63 static void *spent_fct_start; … … 83 84 return status; 84 85 85 if ( spent_fct_start == NULL)86 if (!spent_initialized) { 86 87 __nss_shadow_nonlocal_lookup(&spent_startp, spent_fct_name, 87 88 &spent_fct_start); 89 __sync_synchronize(); 90 spent_initialized = true; 91 } 88 92 spent_nip = spent_startp; 89 93 spent_fct.ptr = spent_fct_start; … … 114 118 { 115 119 enum nss_status status; 120 121 char *nonlocal_ignore = getenv(NONLOCAL_IGNORE_ENV); 122 if (nonlocal_ignore != NULL && nonlocal_ignore[0] != '\0') 123 return NSS_STATUS_UNAVAIL; 124 116 125 if (spent_nip == NULL) { 117 126 status = _nss_nonlocal_setspent(0);
Note: See TracChangeset
for help on using the changeset viewer.