Attempts to acquire a read-write lock for read access. Does not
wait if the lock cannot be immediately granted.
1 – C Binding
#include <tis.h>
int
tis_read_trylock (
tis_rwlock_t *lock);
2 – Arguments
lock
Address of the read-write lock to be acquired.
3 – Description
This routine attempts to acquire a read-write lock for read
access. If the lock cannot be granted, the routine returns
without waiting.
When a thread calls this routine, an attempt is made to
immediately acquire the lock for read access. If the lock is
acquired, zero (0) is returned. If a holder of the lock for write
access exists, [EBUSY] is returned.
If the lock cannot be acquired for read access immediately, the
calling program does not wait for the lock to be released.
4 – Return Values
If an error condition occurs, this routine returns an integer
value indicating the type of error. Possible return values are as
follows:
Return Description
0 Successful completion; the lock was acquired.
[EBUSY] The lock is being held for write access. The lock for
read access was not acquired.
[EINVAL] The value specified by lock is not a valid read-write
lock.
5 – Associated Routines
tis_read_lock()
tis_read_unlock()
tis_rwlock_destroy()
tis_rwlock_init()
tis_write_lock()
tis_write_trylock()
tis_write_unlock()