diff options
Diffstat (limited to 'src/libtools/threads.c')
| -rw-r--r-- | src/libtools/threads.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libtools/threads.c b/src/libtools/threads.c index f51f95c6..15a14422 100644 --- a/src/libtools/threads.c +++ b/src/libtools/threads.c @@ -134,6 +134,10 @@ static void emuthread_destroy(void* p) emuthread_t *et = (emuthread_t*)p; if(!et) return; + #ifdef BOX32 + if(!et->join && et->fnc) + to_hash_d(et->self); + #endif FreeX64Emu(&et->emu); box_free(et); } @@ -177,6 +181,7 @@ void thread_set_emu(x64emu_t* emu) #ifdef BOX32 if(box64_is32bits) { et->self = (uintptr_t)pthread_self(); + et->hself = to_hash(et->self); } #endif pthread_setspecific(thread_key, et); |