tur/rwlock
stdlib/rwlock.tur
defn
rwlock-new
(rwlock-new :ptr<void>)
allocate and initialise a new POSIX read-write lock.
Since: Phase T19-C
defn
rwlock-rdlock
(rwlock-rdlock [rw :ptr<void>] :nil)
acquire a shared read lock, blocking until available.
Parameters
| rw | rwlock handle returned by rwlock-new |
Since: Phase T19-C
defn
rwlock-wrlock
(rwlock-wrlock [rw :ptr<void>] :nil)
acquire an exclusive write lock, blocking until available.
Parameters
| rw | rwlock handle returned by rwlock-new |
Since: Phase T19-C
defn
rwlock-try-rdlock
(rwlock-try-rdlock [rw :ptr<void>] :bool)
attempt to acquire a shared read lock without blocking.
Parameters
| rw | rwlock handle returned by rwlock-new |
Since: Phase T19-C
defn
rwlock-try-wrlock
(rwlock-try-wrlock [rw :ptr<void>] :bool)
attempt to acquire an exclusive write lock without blocking.
Parameters
| rw | rwlock handle returned by rwlock-new |
Since: Phase T19-C
defn
rwlock-unlock
(rwlock-unlock [rw :ptr<void>] :nil)
release a previously acquired read or write lock.
Parameters
| rw | rwlock handle returned by rwlock-new |
Since: Phase T19-C
defn
rwlock-free
(rwlock-free [rw :ptr<void>] :nil)
destroy the read-write lock and release its memory.
Parameters
| rw | rwlock handle returned by rwlock-new |
Since: Phase T19-C