Create a new mutex.
Defined in <SDL3/SDL_mutex.h>
Returns the initialized and unlocked mutex or NULL on failure; call SDL_GetError() for more information.
All newly-created mutexes begin in the unlocked state.
Calls to SDL_LockMutex() will not return while the mutex is locked by another thread. See SDL_TryLockMutex() to attempt to lock without blocking.
SDL mutexes are reentrant.
This function is available since SDL 3.0.0.
SDL_Mutex *mutex;
mutex = SDL_CreateMutex();
if (!mutex) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't create mutex\n");
return 1;
}
if (SDL_TryLockMutex(mutex) == 0) {
/* Do stuff while mutex is locked */
SDL_UnlockMutex(mutex);
} else {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't lock mutex\n");
}
SDL_DestroyMutex(mutex);