SDL_CreateSemaphore建立一台新信號機和隨著價值initial_value 預置它.每一在SDL_SemWait ,SDL_SemTryWait或者 SDL_SemWaitTimeout旁邊信號機上鎖上運作將原子地減少信號機價值.如果信號機價值是並不肯定((超過零),鎖上運作將被妨礙.每個被開啟在SDL_SemPost 旁邊運作將原子地增加信號機價值.
my_sem:PSDL_sem;
my_sem:=SDL_CreateSemaphore((INITIAL_SEM_VALUE);
如果那時(my_sem=零)
開始
隨之發生:=CREATE_SEM_FAILED;
末端;