You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In SDL/src/thread/psl1ght/SDL_syssem.c:SDL_CreateSemaphore a call is made to sysSemCreate where the 4th parameter is the initial value. The 4th parameter controls the maximum value the semaphore can have.
The initial value should not be the limit of semaphores since SDL itself sometimes creates semaphores with an initial value of 0.
SDL/src/thread/SDL_thread.c:250 in SDL_CreateThread
args->wait = SDL_CreateSemaphore(0);
The solution is to use some large value for the maximum value. I used 99 but maybe there is some better default value.
In SDL/src/thread/psl1ght/SDL_syssem.c:SDL_CreateSemaphore a call is made to sysSemCreate where the 4th parameter is the initial value. The 4th parameter controls the maximum value the semaphore can have.
The initial value should not be the limit of semaphores since SDL itself sometimes creates semaphores with an initial value of 0.
SDL/src/thread/SDL_thread.c:250 in SDL_CreateThread
args->wait = SDL_CreateSemaphore(0);
The solution is to use some large value for the maximum value. I used 99 but maybe there is some better default value.
Note that without this fix the following error occurs frequently:
sysSem[Try]Wait() failed
You can see this by using a very simple test case
The text was updated successfully, but these errors were encountered: