Attempts to acquire a read-write lock for write access.
1 – C Binding
#include <tis.h> int tis_write_trylock ( tis_rwlock_t *lock);
2 – Arguments
lock Address of the read-write lock to be acquired for write access.
3 – Description
This routine attempts to acquire a read-write lock for write access. The routine attempts to immediately acquire the lock. If the lock is acquired, zero (0) is returned. If the lock is held by another thread (for either read or write access), [EBUSY] is returned and the calling thread does not wait for the write- access lock to be acquired. Note that it is a coding error to attempt to acquire the lock for write access if the lock is already held by the calling thread. (However, this routine returns [EBUSY] anyway, because no ownership error-checking takes place.)
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 is acquired for write access. [EBUSY] The lock was not acquired for write access, as it is already held by another thread. [EINVAL] The value specified by lock is not a valid read-write lock.
5 – Associated Routines
tis_read_lock() tis_read_trylock() tis_read_unlock() tis_rwlock_destroy() tis_rwlock_init() tis_write_lock() tis_write_unlock()