]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
(pthread_initialize): Move getrlimit call after setting of errno.
authorUlrich Drepper <drepper@redhat.com>
Tue, 21 Dec 1999 07:31:36 +0000 (07:31 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 21 Dec 1999 07:31:36 +0000 (07:31 +0000)
linuxthreads/pthread.c

index e74814737f110ce746743ee96cca42c3a7bacf7e..2f44d025c898bd3f36fe77ca103b2445bdb29863 100644 (file)
@@ -289,15 +289,6 @@ static void pthread_initialize(void)
      STACK_SIZE boundary. */
   __pthread_initial_thread_bos =
     (char *)(((long)CURRENT_STACK_FRAME - 2 * STACK_SIZE) & ~(STACK_SIZE - 1));
-  /* Play with the stack size limit to make sure that no stack ever grows
-     beyond STACK_SIZE minus two pages (one page for the thread descriptor
-     immediately beyond, and one page to act as a guard page). */
-  getrlimit(RLIMIT_STACK, &limit);
-  max_stack = STACK_SIZE - 2 * __getpagesize();
-  if (limit.rlim_cur > max_stack) {
-    limit.rlim_cur = max_stack;
-    setrlimit(RLIMIT_STACK, &limit);
-  }
   /* Update the descriptor for the initial thread. */
   __pthread_initial_thread.p_pid = __getpid();
   /* If we have special thread_self processing, initialize that for the
@@ -308,6 +299,15 @@ static void pthread_initialize(void)
   /* The errno/h_errno variable of the main thread are the global ones.  */
   __pthread_initial_thread.p_errnop = &_errno;
   __pthread_initial_thread.p_h_errnop = &_h_errno;
+  /* Play with the stack size limit to make sure that no stack ever grows
+     beyond STACK_SIZE minus two pages (one page for the thread descriptor
+     immediately beyond, and one page to act as a guard page). */
+  getrlimit(RLIMIT_STACK, &limit);
+  max_stack = STACK_SIZE - 2 * __getpagesize();
+  if (limit.rlim_cur > max_stack) {
+    limit.rlim_cur = max_stack;
+    setrlimit(RLIMIT_STACK, &limit);
+  }
 #ifdef __SIGRTMIN
   /* Initialize real-time signals. */
   init_rtsigs ();