SDL_CreateMutex

Create a new mutex.

Header File

Defined in <SDL3/SDL_mutex.h>

Syntax

SDL_Mutex * SDL_CreateMutex(void);

Return Value

(SDL_Mutex *) Returns the initialized and unlocked mutex or NULL on failure; call SDL_GetError() for more information.

Remarks

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.

Version

This function is available since SDL 3.2.0.

Code Examples

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)) {
  /* Do stuff while mutex is locked */
  SDL_UnlockMutex(mutex);
} else {
  SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Mutex is locked on another thread\n");
}

SDL_DestroyMutex(mutex);

See Also


CategoryAPI, CategoryAPIFunction, CategoryMutex