From ac1a4ec0a345e76d4e2aefc6a9ff05ecfdc7b983 Mon Sep 17 00:00:00 2001 From: winlin Date: Mon, 10 Nov 2014 10:21:05 +0800 Subject: [PATCH] research st, always alloc on stack. --- trunk/research/st/sched.c | 2 +- trunk/research/st/stk.c | 25 ++----------------------- 2 files changed, 3 insertions(+), 24 deletions(-) diff --git a/trunk/research/st/sched.c b/trunk/research/st/sched.c index a66111a4c..77f63fc35 100644 --- a/trunk/research/st/sched.c +++ b/trunk/research/st/sched.c @@ -557,7 +557,7 @@ _st_thread_t *st_thread_create(void *(*start)(void *arg), void *arg, int joinabl } stack->sp = sp - _ST_STACK_PAD_SIZE; #else - #error Unknown OS + #error Unknown Stack Grown #endif memset(thread, 0, sizeof(_st_thread_t)); diff --git a/trunk/research/st/stk.c b/trunk/research/st/stk.c index ced5717bb..c235c029f 100644 --- a/trunk/research/st/stk.c +++ b/trunk/research/st/stk.c @@ -122,28 +122,7 @@ static char *_st_new_stk_segment(int size) #ifdef MALLOC_STACK void *vaddr = malloc(size); #else - static int zero_fd = -1; - int mmap_flags = MAP_PRIVATE; - void *vaddr; - - #if defined (MD_USE_SYSV_ANON_MMAP) - if (zero_fd < 0) { - if ((zero_fd = open("/dev/zero", O_RDWR, 0)) < 0) { - return NULL; - } - fcntl(zero_fd, F_SETFD, FD_CLOEXEC); - } - #elif defined (MD_USE_BSD_ANON_MMAP) - mmap_flags |= MAP_ANON; - #else - #error Unknown OS - #endif - - vaddr = mmap(NULL, size, PROT_READ | PROT_WRITE, mmap_flags, zero_fd, 0); - if (vaddr == (void *)MAP_FAILED) { - return NULL; - } - + #error Unknown Stack Malloc #endif return (char *)vaddr; @@ -156,7 +135,7 @@ void _st_delete_stk_segment(char *vaddr, int size) #ifdef MALLOC_STACK free(vaddr); #else - (void) munmap(vaddr, size); + #error Unknown Stack Malloc #endif } #endif