summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/system.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-04-17 16:34:08 +0000
committerUlrich Drepper <drepper@redhat.com>2003-04-17 16:34:08 +0000
commit9e9f1f159bb957faa125f50efb953088aec831ef (patch)
treeaf62e0da12e48f5ee247ce2722d6c86762bb2e0b /sysdeps/unix/sysv/linux/system.c
parentef4d5b32b37ba6af985d427ee7c120532d62cc6b (diff)
Update.
* 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.
Diffstat (limited to 'sysdeps/unix/sysv/linux/system.c')
-rw-r--r--sysdeps/unix/sysv/linux/system.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/system.c b/sysdeps/unix/sysv/linux/system.c
index ffb308b045..3fdff04c22 100644
--- a/sysdeps/unix/sysv/linux/system.c
+++ b/sysdeps/unix/sysv/linux/system.c
@@ -37,19 +37,22 @@
INLINE_SYSCALL (clone, 3, CLONE_PARENT_SETTID | SIGCHLD, 0, &pid)
#endif
+#ifdef _LIBC_REENTRANT
static void cancel_handler (void *arg);
-#define CLEANUP_HANDLER \
+# define CLEANUP_HANDLER \
__libc_cleanup_region_start (1, cancel_handler, &pid)
-#define CLEANUP_RESET \
+# define CLEANUP_RESET \
__libc_cleanup_region_end (0)
+#endif
/* Linux has waitpid(), so override the generic unix version. */
#include <sysdeps/posix/system.c>
+#ifdef _LIBC_REENTRANT
/* The cancellation handler. */
static void
cancel_handler (void *arg)
@@ -71,3 +74,4 @@ cancel_handler (void *arg)
DO_UNLOCK ();
}
+#endif