about summary refs log tree commit diff stats
path: root/src/libtools/threads.c
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2025-06-15 17:35:21 +0800
committerGitHub <noreply@github.com>2025-06-15 11:35:21 +0200
commit73dfc35c993330ba1ee85f2f2058ac4c4300e762 (patch)
tree3fc81bb17f255dec06d02de766322f3a46da45bb /src/libtools/threads.c
parent038835c81e3034cc84ec668beb23582769041d61 (diff)
downloadbox64-73dfc35c993330ba1ee85f2f2058ac4c4300e762.tar.gz
box64-73dfc35c993330ba1ee85f2f2058ac4c4300e762.zip
[TERMUX] Better handling of non-exists pthread functions (#2748)
Diffstat (limited to 'src/libtools/threads.c')
-rw-r--r--src/libtools/threads.c30
1 files changed, 22 insertions, 8 deletions
diff --git a/src/libtools/threads.c b/src/libtools/threads.c
index 3ee53760..372f2095 100644
--- a/src/libtools/threads.c
+++ b/src/libtools/threads.c
@@ -322,14 +322,17 @@ EXPORT int my_pthread_attr_getguardsize(x64emu_t* emu, pthread_attr_t* attr, siz
 	PTHREAD_ATTR_ALIGN(attr);
 	return pthread_attr_getguardsize(PTHREAD_ATTR(attr), size);
 }
-#ifndef TERMUX
 EXPORT int my_pthread_attr_getinheritsched(x64emu_t* emu, pthread_attr_t* attr, int* sched)
 {
+#ifndef TERMUX
 	(void)emu;
 	PTHREAD_ATTR_ALIGN(attr);
 	return pthread_attr_getinheritsched(PTHREAD_ATTR(attr), sched);
-}
+#else
+	(void)emu; (void)attr; (void)sched;
+	return 0;
 #endif
+}
 EXPORT int my_pthread_attr_getschedparam(x64emu_t* emu, pthread_attr_t* attr, void* param)
 {
 	(void)emu;
@@ -410,16 +413,19 @@ EXPORT int my_pthread_attr_setguardsize(x64emu_t* emu, pthread_attr_t* attr, siz
 	PTHREAD_ATTR_UNALIGN(attr);
 	return ret;
 }
-#ifndef TERMUX
 EXPORT int my_pthread_attr_setinheritsched(x64emu_t* emu, pthread_attr_t* attr, int sched)
 {
+#ifndef TERMUX
 	(void)emu;
 	PTHREAD_ATTR_ALIGN(attr);
 	int ret = pthread_attr_setinheritsched(PTHREAD_ATTR(attr), sched);
 	PTHREAD_ATTR_UNALIGN(attr);
 	return ret;
-}
+#else
+	(void)emu; (void)attr; (void)sched;
+	return 0;
 #endif
+}
 EXPORT int my_pthread_attr_setschedparam(x64emu_t* emu, pthread_attr_t* attr, void* param)
 {
 	(void)emu;
@@ -875,16 +881,20 @@ EXPORT int my_pthread_mutexattr_getkind_np(x64emu_t* emu, my_mutexattr_t *attr,
 	attr->x86 = mattr.x86;
 	return ret;
 }
-#ifndef TERMUX
 EXPORT int my_pthread_mutexattr_getprotocol(x64emu_t* emu, my_mutexattr_t *attr, void* p)
 {
+#ifndef TERMUX
+	(void)emu;
 	my_mutexattr_t mattr = {0};
 	mattr.x86 = attr->x86;
 	int ret = pthread_mutexattr_getprotocol(&mattr.nat, p);
 	attr->x86 = mattr.x86;
 	return ret;
-}
+#else
+	(void)emu; (void)attr; (void)p;
+	return 0;
 #endif
+}
 EXPORT int my_pthread_mutexattr_gettype(x64emu_t* emu, my_mutexattr_t *attr, void* p)
 {
 	my_mutexattr_t mattr = {0};
@@ -921,16 +931,20 @@ EXPORT int my_pthread_mutexattr_setkind_np(x64emu_t* emu, my_mutexattr_t *attr,
 	attr->x86 = mattr.x86;
 	return ret;
 }
-#ifndef TERMUX
 EXPORT int my_pthread_mutexattr_setprotocol(x64emu_t* emu, my_mutexattr_t *attr, int p)
 {
+#ifndef TERMUX
+	(void)emu;
 	my_mutexattr_t mattr = {0};
 	mattr.x86 = attr->x86;
 	int ret = pthread_mutexattr_setprotocol(&mattr.nat, p);
 	attr->x86 = mattr.x86;
 	return ret;
-}
+#else
+	(void)emu; (void)attr; (void)p;
+	return 0;
 #endif
+}
 EXPORT int my_pthread_mutexattr_setpshared(x64emu_t* emu, my_mutexattr_t *attr, int p)
 {
 	my_mutexattr_t mattr = {0};