SDL Wiki
[ front page | index | search | recent changes | git repo | offline html ]

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.

Thread Safety

It is safe to call this function from any thread.

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


[ edit | delete | history | feedback | raw ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.