Document that condition variable mutexes can't be locked recursively.

Fixes https://github.com/libsdl-org/SDL/issues/5497
This commit is contained in:
Sam Lantinga 2023-01-09 15:59:39 -08:00
parent e9b86eebf3
commit 5ed00d34aa

View file

@ -481,7 +481,9 @@ extern DECLSPEC int SDLCALL SDL_CondBroadcast(SDL_cond *cond);
* `cond`. Once the condition variable is signaled, the mutex is re-locked and
* the function returns.
*
* The mutex must be locked before calling this function.
* The mutex must be locked before calling this function. Locking the
* mutex recursively (more than once) is not supported and leads to
* undefined behavior.
*
* This function is the equivalent of calling SDL_CondWaitTimeout() with a
* time length of `SDL_MUTEX_MAXWAIT`.
@ -510,7 +512,9 @@ extern DECLSPEC int SDLCALL SDL_CondWait(SDL_cond *cond, SDL_mutex *mutex);
* signaled or the time elapsed, the mutex is re-locked and the function
* returns.
*
* The mutex must be locked before calling this function.
* The mutex must be locked before calling this function. Locking the
* mutex recursively (more than once) is not supported and leads to
* undefined behavior.
*
* \param cond the condition variable to wait on
* \param mutex the mutex used to coordinate thread access