mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Update.
1998-03-05 Ulrich Drepper <drepper@cygnus.com> * elf/rtld.c: Speed up processing of environment variables. Do only one run on the environment by avoiding to call getenv. * sysdeps/generic/dl-sysdep.c (_dl_next_ld_env_entry): New function. Used by patch above. 1998-03-05 10:25 Ulrich Drepper <drepper@cygnus.com> * nss/getXXbyYY_r.c: Don't try to contact nscd every time when it failed. Only do this every NSS_NSCD_RETRY times. * nss/nsswitch.c: Define __nss_nscd_not_available, used by above change. * nscd/nscd_getgr_r.c (__nscd_getgr_r): Return 2 if contacting the daemon failed. * nscd/nscd_getpw_r.c (__nscd_getpw_r): Likewise. 1998-03-05 Ulrich Drepper <drepper@cygnus.com> * nss/nsswitch.c (nss_lookup_function): Don't modify errno if NSS module cannot be found. Reported by Andreas Jaeger. 1998-03-05 11:40 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * nscd/nscd_getgr_r.c: Change char to int to avoid compiler warning on platforms which default to unsigned chars. * nscd/nscd_getpw_r.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Undefine L before defining it. 1998-03-05 Andreas Jaeger <aj@arthur.rhein-neckar.de> * elf/Makefile (install-bin): Change = to += for sprof to install ldd also.
This commit is contained in:
@ -69,6 +69,9 @@ static struct
|
||||
__libc_lock_define_initialized (static, lock)
|
||||
|
||||
|
||||
/* Nonzero if no NSCD is available. */
|
||||
int __nss_nscd_not_available;
|
||||
|
||||
#if !defined DO_STATIC_NSS || defined PIC
|
||||
/* String with revision number of the shared object files. */
|
||||
static const char *const __nss_shlib_revision = LIBNSS_FILES_SO + 15;
|
||||
@ -380,7 +383,7 @@ nss_lookup_function (service_user *ni, const char *fct_name)
|
||||
/* Load the shared library. */
|
||||
size_t shlen = (7 + strlen (ni->library->name) + 3
|
||||
+ strlen (__nss_shlib_revision) + 1);
|
||||
|
||||
int saved_errno = errno;
|
||||
struct do_open_args args;
|
||||
args.shlib_name = __alloca (shlen);
|
||||
args.ni = ni;
|
||||
@ -393,8 +396,11 @@ nss_lookup_function (service_user *ni, const char *fct_name)
|
||||
__nss_shlib_revision);
|
||||
|
||||
if (nss_dlerror_run (do_open, &args) != 0)
|
||||
/* Failed to load the library. */
|
||||
ni->library->lib_handle = (void *) -1l;
|
||||
{
|
||||
/* Failed to load the library. */
|
||||
ni->library->lib_handle = (void *) -1l;
|
||||
__set_errno (saved_errno);
|
||||
}
|
||||
}
|
||||
|
||||
if (ni->library->lib_handle == (void *) -1l)
|
||||
|
Reference in New Issue
Block a user