* sysdeps/unix/sysv/linux/system.c: If compiled without threads
	don't do anything fancy.

	* sysdeps/generic/bits/libc-lock.h: Define
	__rtld_lock_define_initialized_recursive.
This commit is contained in:
Ulrich Drepper 2003-04-17 16:34:08 +00:00
parent ef4d5b32b3
commit 9e9f1f159b
4 changed files with 16 additions and 4 deletions

View File

@ -1,5 +1,11 @@
2003-04-17 Ulrich Drepper <drepper@redhat.com> 2003-04-17 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/system.c: If compiled without threads
don't do anything fancy.
* sysdeps/generic/bits/libc-lock.h: Define
__rtld_lock_define_initialized_recursive.
* nss/getXXbyYY_r.c [USE_NSCD] (REENTRANT_NAME): Only retry * nss/getXXbyYY_r.c [USE_NSCD] (REENTRANT_NAME): Only retry
contacting nscd if NOT_USENSCD_NAME > 0. contacting nscd if NOT_USENSCD_NAME > 0.
* nss/nsswitch.c (__nss_disable_nscd): New function. * nss/nsswitch.c (__nss_disable_nscd): New function.

View File

@ -1,5 +1,5 @@
/* libc-internal interface for mutex locks. Stub version. /* libc-internal interface for mutex locks. Stub version.
Copyright (C) 1996,97,99,2000,01,02 Free Software Foundation, Inc. Copyright (C) 1996,97,99,2000-2002,2003 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -40,6 +40,7 @@
/* Define an initialized recursive lock variable NAME with storage /* Define an initialized recursive lock variable NAME with storage
class CLASS. */ class CLASS. */
#define __libc_lock_define_initialized_recursive(CLASS,NAME) #define __libc_lock_define_initialized_recursive(CLASS,NAME)
#define __rtld_lock_define_initialized_recursive(CLASS,NAME)
/* Initialize the named lock variable, leaving it in a consistent, unlocked /* Initialize the named lock variable, leaving it in a consistent, unlocked
state. */ state. */

View File

@ -1,5 +1,5 @@
/* libc-internal interface for mutex locks. Stub version. /* libc-internal interface for mutex locks. Stub version.
Copyright (C) 1996,97,99,2000,01,02 Free Software Foundation, Inc. Copyright (C) 1996,97,99,2000-2002,2003 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -40,6 +40,7 @@
/* Define an initialized recursive lock variable NAME with storage /* Define an initialized recursive lock variable NAME with storage
class CLASS. */ class CLASS. */
#define __libc_lock_define_initialized_recursive(CLASS,NAME) #define __libc_lock_define_initialized_recursive(CLASS,NAME)
#define __rtld_lock_define_initialized_recursive(CLASS,NAME)
/* Initialize the named lock variable, leaving it in a consistent, unlocked /* Initialize the named lock variable, leaving it in a consistent, unlocked
state. */ state. */

View File

@ -37,19 +37,22 @@
INLINE_SYSCALL (clone, 3, CLONE_PARENT_SETTID | SIGCHLD, 0, &pid) INLINE_SYSCALL (clone, 3, CLONE_PARENT_SETTID | SIGCHLD, 0, &pid)
#endif #endif
#ifdef _LIBC_REENTRANT
static void cancel_handler (void *arg); static void cancel_handler (void *arg);
#define CLEANUP_HANDLER \ # define CLEANUP_HANDLER \
__libc_cleanup_region_start (1, cancel_handler, &pid) __libc_cleanup_region_start (1, cancel_handler, &pid)
#define CLEANUP_RESET \ # define CLEANUP_RESET \
__libc_cleanup_region_end (0) __libc_cleanup_region_end (0)
#endif
/* Linux has waitpid(), so override the generic unix version. */ /* Linux has waitpid(), so override the generic unix version. */
#include <sysdeps/posix/system.c> #include <sysdeps/posix/system.c>
#ifdef _LIBC_REENTRANT
/* The cancellation handler. */ /* The cancellation handler. */
static void static void
cancel_handler (void *arg) cancel_handler (void *arg)
@ -71,3 +74,4 @@ cancel_handler (void *arg)
DO_UNLOCK (); DO_UNLOCK ();
} }
#endif