.\" This manpage content is licensed under Creative Commons .\" Attribution 4.0 International (CC BY 4.0) .\" https://creativecommons.org/licenses/by/4.0/ .\" This manpage was generated from SDL's wiki page for SDL_LockRWLockForReading: .\" https://wiki.libsdl.org/SDL_LockRWLockForReading .\" Generated with SDL/build-scripts/wikiheaders.pl .\" revision SDL-3.1.0 .\" Please report issues in this manpage's content at: .\" https://github.com/libsdl-org/sdlwiki/issues/new .\" Please report issues in the generation of this manpage from the wiki at: .\" https://github.com/libsdl-org/SDL/issues/new?title=Misgenerated%20manpage%20for%20SDL_LockRWLockForReading .\" SDL can be found at https://libsdl.org/ .de URL \$2 \(laURL: \$1 \(ra\$3 .. .if \n[.g] .mso www.tmac .TH SDL_LockRWLockForReading 3 "SDL 3.1.0" "SDL" "SDL3 FUNCTIONS" .SH NAME SDL_LockRWLockForReading \- Lock the read/write lock for _read only_ operations\[char46] .SH SYNOPSIS .nf .B #include \(dqSDL3/SDL.h\(dq .PP .BI "void SDL_LockRWLockForReading(SDL_RWLock *rwlock) SDL_ACQUIRE_SHARED(rwlock); .fi .SH DESCRIPTION This will block until the rwlock is available, which is to say it is not locked for writing by any other thread\[char46] Of all threads waiting to lock the rwlock, all may do so at the same time as long as they are requesting read-only access; if a thread wants to lock for writing, only one may do so at a time, and no other threads, read-only or not, may hold the lock at the same time\[char46] It is legal for the owning thread to lock an already-locked rwlock for reading\[char46] 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 rwlock")\[char46] Note that locking for writing is not recursive (this is only available to read-only locks)\[char46] It is illegal to request a read-only lock from a thread that already holds the write lock\[char46] Doing so results in undefined behavior\[char46] Unlock the write lock before requesting a read-only lock\[char46] (But, of course, if you have the write lock, you don't need further locks to read in any case\[char46]) This function does not fail; if rwlock is NULL, it will return immediately having locked nothing\[char46] If the rwlock is valid, this function will always block until it can lock the mutex, and return with it locked\[char46] .SH FUNCTION PARAMETERS .TP .I rwlock the read/write lock to lock .SH AVAILABILITY This function is available since SDL 3\[char46]0\[char46]0\[char46] .SH SEE ALSO .BR SDL_LockRWLockForWriting (3), .BR SDL_TryLockRWLockForReading (3), .BR SDL_UnlockRWLock (3)