正在显示
2 个修改的文件
包含
3 行增加
和
24 行删除
| @@ -557,7 +557,7 @@ _st_thread_t *st_thread_create(void *(*start)(void *arg), void *arg, int joinabl | @@ -557,7 +557,7 @@ _st_thread_t *st_thread_create(void *(*start)(void *arg), void *arg, int joinabl | ||
| 557 | } | 557 | } |
| 558 | stack->sp = sp - _ST_STACK_PAD_SIZE; | 558 | stack->sp = sp - _ST_STACK_PAD_SIZE; |
| 559 | #else | 559 | #else |
| 560 | - #error Unknown OS | 560 | + #error Unknown Stack Grown |
| 561 | #endif | 561 | #endif |
| 562 | 562 | ||
| 563 | memset(thread, 0, sizeof(_st_thread_t)); | 563 | memset(thread, 0, sizeof(_st_thread_t)); |
| @@ -122,28 +122,7 @@ static char *_st_new_stk_segment(int size) | @@ -122,28 +122,7 @@ static char *_st_new_stk_segment(int size) | ||
| 122 | #ifdef MALLOC_STACK | 122 | #ifdef MALLOC_STACK |
| 123 | void *vaddr = malloc(size); | 123 | void *vaddr = malloc(size); |
| 124 | #else | 124 | #else |
| 125 | - static int zero_fd = -1; | ||
| 126 | - int mmap_flags = MAP_PRIVATE; | ||
| 127 | - void *vaddr; | ||
| 128 | - | ||
| 129 | - #if defined (MD_USE_SYSV_ANON_MMAP) | ||
| 130 | - if (zero_fd < 0) { | ||
| 131 | - if ((zero_fd = open("/dev/zero", O_RDWR, 0)) < 0) { | ||
| 132 | - return NULL; | ||
| 133 | - } | ||
| 134 | - fcntl(zero_fd, F_SETFD, FD_CLOEXEC); | ||
| 135 | - } | ||
| 136 | - #elif defined (MD_USE_BSD_ANON_MMAP) | ||
| 137 | - mmap_flags |= MAP_ANON; | ||
| 138 | - #else | ||
| 139 | - #error Unknown OS | ||
| 140 | - #endif | ||
| 141 | - | ||
| 142 | - vaddr = mmap(NULL, size, PROT_READ | PROT_WRITE, mmap_flags, zero_fd, 0); | ||
| 143 | - if (vaddr == (void *)MAP_FAILED) { | ||
| 144 | - return NULL; | ||
| 145 | - } | ||
| 146 | - | 125 | + #error Unknown Stack Malloc |
| 147 | #endif | 126 | #endif |
| 148 | 127 | ||
| 149 | return (char *)vaddr; | 128 | return (char *)vaddr; |
| @@ -156,7 +135,7 @@ void _st_delete_stk_segment(char *vaddr, int size) | @@ -156,7 +135,7 @@ void _st_delete_stk_segment(char *vaddr, int size) | ||
| 156 | #ifdef MALLOC_STACK | 135 | #ifdef MALLOC_STACK |
| 157 | free(vaddr); | 136 | free(vaddr); |
| 158 | #else | 137 | #else |
| 159 | - (void) munmap(vaddr, size); | 138 | + #error Unknown Stack Malloc |
| 160 | #endif | 139 | #endif |
| 161 | } | 140 | } |
| 162 | #endif | 141 | #endif |
-
请 注册 或 登录 后发表评论