about summary refs log tree commit diff
diff options
context:
space:
mode:
-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);
     }
 }