diff options
Diffstat (limited to 'lib/libc_r/uthread/uthread_create.c')
-rw-r--r-- | lib/libc_r/uthread/uthread_create.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/lib/libc_r/uthread/uthread_create.c b/lib/libc_r/uthread/uthread_create.c index a392cba..fd9e746 100644 --- a/lib/libc_r/uthread/uthread_create.c +++ b/lib/libc_r/uthread/uthread_create.c @@ -136,20 +136,11 @@ pthread_create(pthread_t * thread, const pthread_attr_t * attr, if (pthread_mutex_unlock(&_gc_mutex) != 0) PANIC("Cannot unlock gc mutex"); - /* Red zone: */ - if (mmap(stack - PTHREAD_STACK_GUARD, - PTHREAD_STACK_GUARD, 0, MAP_ANON, - -1, 0) == MAP_FAILED) { - ret = EAGAIN; - free(new_thread); - } /* Stack: */ - else if (mmap(stack, PTHREAD_STACK_DEFAULT, + if (mmap(stack, PTHREAD_STACK_DEFAULT, PROT_READ | PROT_WRITE, MAP_STACK, -1, 0) == MAP_FAILED) { ret = EAGAIN; - munmap(stack - PTHREAD_STACK_GUARD, - PTHREAD_STACK_GUARD); free(new_thread); } } |