about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2024-06-21 19:08:53 +0800
committerGitHub <noreply@github.com>2024-06-21 13:08:53 +0200
commit3dcd08bd4a7cb9fa8a52a0a55d1f0c15eac9632a (patch)
treeea6b36fc534b26fd26c393eff3a2a87774ad4b89 /src
parenta945daf96dad09d7c7f72095435236b4c7768747 (diff)
downloadbox64-3dcd08bd4a7cb9fa8a52a0a55d1f0c15eac9632a.tar.gz
box64-3dcd08bd4a7cb9fa8a52a0a55d1f0c15eac9632a.zip
Wrapped pthread_cond_signal with aligned cond like others (#1608)
Diffstat (limited to 'src')
-rw-r--r--src/libtools/threads.c6
-rw-r--r--src/wrapped/wrappedlibpthread_private.h2
2 files changed, 7 insertions, 1 deletions
diff --git a/src/libtools/threads.c b/src/libtools/threads.c
index 6566b84e..074068c0 100644
--- a/src/libtools/threads.c
+++ b/src/libtools/threads.c
@@ -712,6 +712,12 @@ static pthread_cond_t* alignCond(pthread_cond_t* pc)
 	return pc;
 }
 
+EXPORT int my_pthread_cond_signal(x64emu_t* emu, pthread_cond_t* cond)
+{
+	(void)emu;
+	int ret = pthread_cond_signal(alignCond(cond));
+	return ret;
+}
 EXPORT int my_pthread_cond_timedwait(x64emu_t* emu, pthread_cond_t* cond, void* mutex, void* abstime)
 {
 	(void)emu;
diff --git a/src/wrapped/wrappedlibpthread_private.h b/src/wrapped/wrappedlibpthread_private.h
index 2ab265bb..da7d0200 100644
--- a/src/wrapped/wrappedlibpthread_private.h
+++ b/src/wrapped/wrappedlibpthread_private.h
@@ -107,7 +107,7 @@ GOM(pthread_cond_broadcast, iFEp)
 GOM(pthread_cond_destroy, iFEp)
 GOM(pthread_cond_init, iFEpp)
 #endif
-GO(pthread_cond_signal, iFp)
+GOM(pthread_cond_signal, iFEp)
 GOM(pthread_cond_timedwait, iFEppp)
 GOM(pthread_cond_wait, iFEpp)
 GOM(pthread_create, iFEpppp)