Mac THREAD_SignalExit: void __fastcc (void* pThreadId ECX, uint32_t nExitCode EDX)
ECX -> EDI = the pthread id, looked up repeatedly via 0x0002cfbd to find each thread handle. EDX -> [EBP-0x10] = the exit code, stored to the handle record +0x5c with +0x60 = 1 (signaled), +0x54 cleared, and waiters released (0x00025660). Each handle is locked/unlocked via 0x00021748. There are no stack args. Plain RET with no return value. ExitThread 0x0002bf9a calls it with ECX = pthread_self(), EDX = the exit code.
Changes 1, applied together
Set prototype
mac 0x0002bfa7signatureundefined THREAD_SignalExit(void)→void THREAD_SignalExit(void* pThreadId, uint32_t nExitCode)conventionunknown→__fastcc