sdlTryLockRwLockForReading function mutex

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.2.0.

\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 = _libSdl
      .lookupFunction<
        Uint8 Function(Pointer<NativeType> arg0, Pointer<NativeType> arg1),
        int Function(Pointer<NativeType> arg0, Pointer<NativeType> arg1)
      >('SDL_TryLockRWLockForReading');
  return sdlTryLockRwLockForReadingLookupFunction(arg0, arg1) == 1;
}