diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-28 18:56:08 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-28 18:56:08 +0200 |
| commit | 02cfa0be7f79ab0de5ecafce9cea984e881edd06 (patch) | |
| tree | 2db51a5cd53525a03e810ebb93aabf490e4770aa | |
| parent | da7a7a4d0e705ac4da6f663593615c173af525e2 (diff) | |
| download | box64-02cfa0be7f79ab0de5ecafce9cea984e881edd06.tar.gz box64-02cfa0be7f79ab0de5ecafce9cea984e881edd06.zip | |
Simply wrapped pthread_exit, don't force emu->quit to 1
| -rwxr-xr-x | src/libtools/threads.c | 11 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibpthread_private.h | 3 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/libtools/threads.c b/src/libtools/threads.c index 70041973..ac44909e 100755 --- a/src/libtools/threads.c +++ b/src/libtools/threads.c @@ -362,7 +362,7 @@ EXPORT void my___pthread_register_cancel(void* E, void* B) int i = cancel_deep--; x64emu_t* emu = cancel_emu[i]; my_longjmp(emu, cancel_buff[i]->__cancel_jmp_buf, 1); - DynaRun(emu); // resume execution + DynaRun(emu); // resume execution // TODO: Use ejb instead? return; } @@ -666,11 +666,10 @@ EXPORT int my_pthread_kill(x64emu_t* emu, void* thread, int sig) return pthread_kill((pthread_t)thread, sig); } -EXPORT void my_pthread_exit(x64emu_t* emu, void* retval) -{ - emu->quit = 1; // to be safe - pthread_exit(retval); -} +//EXPORT void my_pthread_exit(x64emu_t* emu, void* retval) +//{ +// pthread_exit(retval); +//} #ifdef NOALIGN pthread_mutex_t* getAlignedMutex(pthread_mutex_t* m) { diff --git a/src/wrapped/wrappedlibpthread_private.h b/src/wrapped/wrappedlibpthread_private.h index facad12d..609dca92 100755 --- a/src/wrapped/wrappedlibpthread_private.h +++ b/src/wrapped/wrappedlibpthread_private.h @@ -72,7 +72,8 @@ GOM(pthread_cond_wait, iFEpp) GOM(pthread_create, iFEpppp) GO(pthread_detach, iFL) GO(pthread_equal, iFLL) -GOM(pthread_exit, vFEp) +//GOM(pthread_exit, vFEp) +GO(pthread_exit, vFp) //GOM(pthread_getaffinity_np, iFEpup) GO(pthread_getattr_np, iFLp) //GO(pthread_getconcurrency, iFv) |