# SDL_UnlockMutex

Unlock the mutex.

## Header File

Defined in [SDL_mutex.h](https://github.com/libsdl-org/SDL/blob/SDL2/include/SDL_mutex.h)

## Syntax

```c
int SDL_UnlockMutex(SDL_mutex * mutex);

#define SDL_mutexV(m)   SDL_UnlockMutex(m)
```

## Function Parameters

|                          |           |                      |
| ------------------------ | --------- | -------------------- |
| [SDL_mutex](SDL_mutex) * | **mutex** | the mutex to unlock. |

## Return Value

(int) Returns 0, or -1 on error.

## Remarks

It is legal for the owning thread to lock an already-locked mutex. It must
unlock it the same number of times before it is actually made available for
other threads in the system (this is known as a "recursive mutex").

It is an error to unlock a mutex that has not been locked by the current
thread, and doing so results in undefined behavior.

It is also an error to unlock a mutex that isn't locked at all.

## Version

This function is available since SDL 2.0.0.

----
[CategoryAPI](CategoryAPI), [CategoryAPIFunction](CategoryAPIFunction), [CategoryMutex](CategoryMutex)