about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-08-10 15:31:11 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-08-10 15:31:11 +0200
commit3597284e8d9891e6d9714d5876a33ca174e4ae3c (patch)
tree285ae1991f5923c05c47c589d6c04e8db0976d59 /src
parent4e8f387f799694056031749de36d26fb65169efd (diff)
downloadbox64-3597284e8d9891e6d9714d5876a33ca174e4ae3c.tar.gz
box64-3597284e8d9891e6d9714d5876a33ca174e4ae3c.zip
Some changes on getstacksize for thread
Diffstat (limited to 'src')
-rwxr-xr-xsrc/libtools/threads.c8
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)
 {