sdlTryLockRwLockForReading function

bool sdlTryLockRwLockForReading(
  1. Pointer<NativeType> arg0,
  2. Pointer<NativeType> arg1
)

Try to lock a read/write lock for reading without blocking.

This works just like SDL_LockRWLockForReading(), but if the rwlock is not available, then this function returns false immediately.

This technique is useful if you need access to a resource but don't want to wait for it, and will return to it to try again later.

Trying to lock for read-only access can succeed if other threads are holding read-only locks, as this won't prevent access.

This function returns true if passed a NULL rwlock.

\param rwlock the rwlock to try to lock. \returns true on success, false if the lock would block.

\since This function is available since SDL 3.1.3.

\sa SDL_LockRWLockForReading \sa SDL_TryLockRWLockForWriting \sa SDL_UnlockRWLock

extern SDL_DECLSPEC bool SDLCALL SDL_TryLockRWLockForReading(SDL_RWLock *rwlock) SDL_TRY_ACQUIRE_SHARED(0, rwlock)

Implementation

bool sdlTryLockRwLockForReading(
    Pointer<NativeType> arg0, Pointer<NativeType> arg1) {
  final sdlTryLockRwLockForReadingLookupFunction = libSdl3.lookupFunction<
      Uint8 Function(Pointer<NativeType> arg0, Pointer<NativeType> arg1),
      int Function(Pointer<NativeType> arg0,
          Pointer<NativeType> arg1)>('SDL_TryLockRWLockForReading');
  return sdlTryLockRwLockForReadingLookupFunction(arg0, arg1) == 1;
}