summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-05-01 14:14:28 +0000
committerUlrich Drepper <drepper@redhat.com>1998-05-01 14:14:28 +0000
commitf9119f49a610d9bcec19c607c19d33b4148a7a0f (patch)
tree2b56b86e0fcbd2e488d46d7f483ee2653ee23578
parent52ec8aabc38887cf701ca0c77837c48571351533 (diff)
downloadglibc-f9119f49a610d9bcec19c607c19d33b4148a7a0f.tar.gz
glibc-f9119f49a610d9bcec19c607c19d33b4148a7a0f.tar.xz
glibc-f9119f49a610d9bcec19c607c19d33b4148a7a0f.zip
Update.
1998-05-01  Ulrich Drepper  <drepper@cygnus.com>

	* manager.c (pthread_free): Unmap guard before the stack.
	Patch by Matthias Urlichs.
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/manager.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 4f0c67e73d..a834b31bfa 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+1998-05-01  Ulrich Drepper  <drepper@cygnus.com>
+
+	* manager.c (pthread_free): Unmap guard before the stack.
+	Patch by Matthias Urlichs.
+
 1998-04-30  Ulrich Drepper  <drepper@cygnus.com>
 
 	* manager.c (pthread_free): Detect already free child.
diff --git a/linuxthreads/manager.c b/linuxthreads/manager.c
index 81674399a1..e7de399cde 100644
--- a/linuxthreads/manager.c
+++ b/linuxthreads/manager.c
@@ -336,9 +336,9 @@ static void pthread_free(pthread_descr th)
   if (!th->p_userstack)
     {
       /* Free the stack and thread descriptor area */
-      munmap((caddr_t) ((char *)(th+1) - STACK_SIZE), STACK_SIZE);
       if (th->p_guardsize != 0)
 	munmap(th->p_guardaddr, th->p_guardsize);
+      munmap((caddr_t) ((char *)(th+1) - STACK_SIZE), STACK_SIZE);
     }
 }