diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-08-10 15:31:11 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-08-10 15:31:11 +0200 |
| commit | 3597284e8d9891e6d9714d5876a33ca174e4ae3c (patch) | |
| tree | 285ae1991f5923c05c47c589d6c04e8db0976d59 /src | |
| parent | 4e8f387f799694056031749de36d26fb65169efd (diff) | |
| download | box64-3597284e8d9891e6d9714d5876a33ca174e4ae3c.tar.gz box64-3597284e8d9891e6d9714d5876a33ca174e4ae3c.zip | |
Some changes on getstacksize for thread
Diffstat (limited to 'src')
| -rwxr-xr-x | src/libtools/threads.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libtools/threads.c b/src/libtools/threads.c index b56ebd9a..81ccba3a 100755 --- a/src/libtools/threads.c +++ b/src/libtools/threads.c @@ -197,7 +197,8 @@ x64emu_t* thread_get_emu() size_t stack_size; void *stack_addr; if(!pthread_attr_getstack(&attr, &stack_addr, &stack_size)) - stacksize = stack_size; + if(stack_size) + stacksize = stack_size; pthread_attr_destroy(&attr); } void* stack = mmap(NULL, stacksize, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_GROWSDOWN, -1, 0); @@ -363,8 +364,11 @@ EXPORT int my_pthread_attr_getstacksize(x64emu_t* emu, pthread_attr_t* attr, siz { (void)emu; void* addr; - return pthread_attr_getstack(getAlignedAttr(attr), &addr, size); + int ret = pthread_attr_getstack(getAlignedAttr(attr), &addr, size); + if(!*size) + *size = 2*1024*1024; //return pthread_attr_getstacksize(getAlignedAttr(attr), size); + return ret; } EXPORT int my_pthread_attr_init(x64emu_t* emu, pthread_attr_t* attr) { |