Skip to content

Commit

Permalink
include: More category documentation.
Browse files Browse the repository at this point in the history
Reference Issue #11847.
  • Loading branch information
icculus committed Jan 20, 2025
1 parent 642262e commit 2be749b
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
14 changes: 13 additions & 1 deletion include/SDL3/SDL_mutex.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,19 @@
/**
* # CategoryMutex
*
* Functions to provide thread synchronization primitives.
* SDL offers several thread synchronization primitives. This document can't
* cover the complicated topic of thread safety, but reading up on what each
* of these primitives are, why they are useful, and how to correctly use them
* is vital to writing correct and safe multithreaded programs.
*
* - Mutexes: SDL_CreateMutex()
* - Read/Write locks: SDL_CreateRWLock()
* - Semaphores: SDL_CreateSemaphore()
* - Condition variables: SDL_CreateCondition()
*
* SDL also offers a datatype, SDL_InitState, which can be used to make sure
* only one thread initializes/deinitializes some resource that several
* threads might try to use for the first time simultaneously.
*/

#include <SDL3/SDL_stdinc.h>
Expand Down
14 changes: 13 additions & 1 deletion include/SDL3/SDL_thread.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,19 @@
/**
* # CategoryThread
*
* SDL thread management routines.
* SDL offers cross-platform thread management functions. These are mostly
* concerned with starting threads, setting their priority, and dealing with
* their termination.
*
* In addition, there is support for Thread Local Storage (data that is unique
* to each thread, but accessed from a single key).
*
* On platforms without thread support (such as Emscripten when built without
* pthreads), these functions still exist, but things like SDL_CreateThread()
* will report failure without doing anything.
*
* If you're going to work with threads, you almost certainly need to have a
* good understanding of [CategoryMutex](CategoryMutex) as well.
*/

#include <SDL3/SDL_stdinc.h>
Expand Down

0 comments on commit 2be749b

Please sign in to comment.