summaryrefslogtreecommitdiff
path: root/pthread/pt-create.c
diff options
context:
space:
mode:
Diffstat (limited to 'pthread/pt-create.c')
-rw-r--r--pthread/pt-create.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/pthread/pt-create.c b/pthread/pt-create.c
index 00884b5..78dd17e 100644
--- a/pthread/pt-create.c
+++ b/pthread/pt-create.c
@@ -227,7 +227,10 @@ __pthread_create_internal (struct __pthread **thread,
goto failed;
failed_thread_alloc:
if (pthread->stack)
- __pthread_stack_dealloc (pthread->stackaddr, pthread->stacksize);
+ __pthread_stack_dealloc (pthread->stackaddr,
+ ((setup->guardsize + __vm_page_size-1)
+ / __vm_page_size) * __vm_page_size
+ + pthread->stacksize);
failed_stack_alloc:
__pthread_dealloc (pthread);
failed: