mirror of
https://github.com/yawut/SDL.git
synced 2026-06-14 12:40:50 -05:00
Dongsun Kim Normal case 1. [thread 1] SDL_CreateThreadWithStackSize calls SDL_SYS_CreateThread. 2. [thread 1] If successful, it calls SDL_SemWait. 3. [thread 2] SDL_RunThread calls SDL_SYS_SetupThread, SDL_ThreadID, SDL_SemPost. 4. [thread 1] SDL_CreateThreadWithStackSize calls SDL_DestroySemaphore, SDL_free. Crash case (Segmentation fault) 1. [thread 1] SDL_CreateThreadWithStackSize calls SDL_SYS_CreateThread. 2. [thread 1] If successful, it calls SDL_SemWait. --> Error return due to SIGNAL(SYSTEM or Real Time) at sem_wait(pthread). 3. [thread 1] SDL_CreateThreadWithStackSize calls SDL_DestroySemaphore, SDL_free. 4. [thread 2] SDL_RunThread calls SDL_SYS_SetupThread, SDL_ThreadID, SDL_SemPost. --> Segmentation fault at strlen or sem_post. |
||
|---|---|---|
| .. | ||
| SDL_syscond.c | ||
| SDL_sysmutex_c.h | ||
| SDL_sysmutex.c | ||
| SDL_syssem.c | ||
| SDL_systhread_c.h | ||
| SDL_systhread.c | ||
| SDL_systls.c | ||