sema_trywait(3synch)
sema_trywait --
conditionally claim resources under the semaphore's control
Synopsis
   cc [options] -Kthread file
   
   #include <synch.h>
   
   int sema_trywait(sema_t *sema);
Description
sema_trywait makes a single attempt to acquire the semaphore
pointed to by sema.
If the semaphore is available,
sema_trywait decrements the semaphore value
and returns to the caller.
If sema_trywait cannot immediately acquire the semaphore,
it returns EBUSY to the caller,
it does not block the caller to wait for the semaphore
or decrement the semaphore value.
Parameters
sema- 
pointer to the semaphore to acquire
 
sema parameter
sema must have been previously initialized,
either by sema_init or statically (see sema_init(3synch)).
Usage
sema_trywait is used when the caller does not want to block
if the semaphore is unavailable.
Return values
sema_trywait returns zero for success
and an error number for failure.
Errors
If the following condition occurs,
sema_trywait fails and returns the corresponding value:
EBUSY- 
the semaphore cannot be acquired immediately
 
If the following condition is detected,
sema_trywait returns the corresponding value:
EINVAL- 
invalid argument specified
 
References
Intro(3synch),
semaphore(3synch),
sema_destroy(3synch),
sema_init(3synch),
sema_post(3synch),
sema_wait(3synch)
© 2004 The SCO Group, Inc.  All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004