rw_trywrlock(3synch)


rw_trywrlock -- conditionally acquire a reader-writer lock in write mode

Synopsis

   cc [options] -Kthread file
   

#include <synch.h>

int rw_trywrlock(rwlock_t *lock);

Description

rw_trywrlock makes a single attempt to acquire the reader-writer lock pointed to by lock in write mode; it does not block the caller if the lock is unavailable.

A reader-writer lock can be held by any number of readers at one time, but only one writer at a time can hold the lock.

If the lock is free, rw_trywrlock acquires the lock in write mode and the caller proceeds.

If the lock is currently held, rw_trywrlock immediately returns EBUSY to the caller, without acquiring the lock.

lock must previously have been initialized (see rwlock_init).

Usage

rw_trywrlock is used when the caller does not want to block if the lock is unavailable.

Return values

rw_trywrlock returns zero for success and an error number for failure.

Parameters


lock
pointer to the reader-writer lock to be acquired

Errors

If any of the following conditions occurs, rw_trywrlock fails and returns the corresponding value:

EBUSY
the reader-writer lock pointed to by lock cannot be acquired

If the following condition is detected, rw_trywrlock returns the corresponding value:


EINVAL
invalid argument specified

For consistency, locks acquired with rw_trywrlock should be released with rw_unlock.

References

Intro(3synch), rwlock(3synch), rwlock_destroy(3synch), rwlock_init(3synch), rw_rdlock(3synch), rw_tryrdlock(3synch), rw_unlock(3synch), rw_wrlock(3synch)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004