---
name: "SDL_TryLockRWLockForWriting"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_TryLockRWLockForWriting"
---

# SDL\_TryLockRWLockForWriting(3)

Try to lock a read/write lock \_for writing\_ without blocking.

## NAME

SDL\_TryLockRWLockForWriting - Try to lock a read/write lock \_for writing\_ without blocking.

## HEADER FILE

Defined in SDL3/SDL\_mutex.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**bool SDL\_TryLockRWLockForWriting(SDL\_RWLock \*rwlock);**

## DESCRIPTION

This works just like

**SDL\_LockRWLockForWriting** (), but if the rwlock is not available, then this function returns false immediately.

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

It is illegal for the owning thread to lock an already-locked rwlock for writing (read-only may be locked recursively, writing can not). Doing so results in undefined behavior.

It is illegal to request a write lock from a thread that already holds a read-only lock. Doing so results in undefined behavior. Unlock the read-only lock before requesting a write lock.

This function returns true if passed a NULL rwlock.

## FUNCTION PARAMETERS

- *rwlock*

  the rwlock to try to lock.

## RETURN VALUE

Returns true on success, false if the lock would block.

## AVAILABILITY

This function is available since SDL 3.2.0.

## SEE ALSO

**•**(3), [**SDL\_LockRWLockForWriting**(3)](/SDL_LockRWLockForWriting/3.md), **•**(3), [**SDL\_TryLockRWLockForReading**(3)](/SDL_TryLockRWLockForReading/3.md), **•**(3), [**SDL\_UnlockRWLock**(3)](/SDL_UnlockRWLock/3.md)
