summaryrefslogtreecommitdiffstats
path: root/libpthread/nptl/pthread_create.c
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2005-11-16 03:00:38 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2005-11-16 03:00:38 +0000
commit4fadeffd0a6d03c31a88363d47fcb978073894d2 (patch)
tree3b64d7a18affcbf99555b56a6459a771a8716723 /libpthread/nptl/pthread_create.c
parent81dca7a3377e5b100f81fc6eda6a114cc80274ff (diff)
downloaduClibc-alpine-4fadeffd0a6d03c31a88363d47fcb978073894d2.tar.bz2
uClibc-alpine-4fadeffd0a6d03c31a88363d47fcb978073894d2.tar.xz
Remove '__libc_fatal' function and usage of it. Remove and disable 'freeres' code having to do with internal library memory usage and GDB. uClibc homey don't play that.
Diffstat (limited to 'libpthread/nptl/pthread_create.c')
-rw-r--r--libpthread/nptl/pthread_create.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libpthread/nptl/pthread_create.c b/libpthread/nptl/pthread_create.c
index c83160c80..1dfdb7123 100644
--- a/libpthread/nptl/pthread_create.c
+++ b/libpthread/nptl/pthread_create.c
@@ -26,6 +26,7 @@
#include <ldsodefs.h>
#include <atomic.h>
#include <libc-internal.h>
+#include <resolv.h>
#include <shlib-compat.h>
@@ -266,8 +267,10 @@ start_thread (void *arg)
/* Run the destructor for the thread-local data. */
__nptl_deallocate_tsd ();
+#ifndef __UCLIBC__
/* Clean up any state libc stored in thread-local variables. */
__libc_thread_freeres ();
+#endif
/* If this is the last thread we terminate the process now. We
do not notify the debugger, it might just irritate it if there
@@ -398,6 +401,11 @@ __pthread_create_2_1 (newthread, attr, start_routine, arg)
pd->schedpolicy = self->schedpolicy;
pd->schedparam = self->schedparam;
+ /* Copy the stack guard canary. */
+#ifdef THREAD_COPY_STACK_GUARD
+ THREAD_COPY_STACK_GUARD (pd);
+#endif
+
/* Determine scheduling parameters for the thread. */
if (attr != NULL
&& __builtin_expect ((iattr->flags & ATTR_FLAG_NOTINHERITSCHED) != 0, 0)