DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

rw_trywrlock(SYNCH)


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(SYNCH), rwlock(SYNCH), rwlock_destroy(SYNCH), rwlock_init(SYNCH), rw_rdlock(SYNCH), rw_tryrdlock(SYNCH), rw_unlock(SYNCH), rw_wrlock(SYNCH)
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 - 01 June 2005