VMS Help
RTL Routines, PPL$, PPL$DECREMENT_SEMAPHORE
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
The Decrement a Semaphore routine waits for a semaphore to have a
value greater than 0, then decrements the value by 1 to indicate
the allocation of a resource.
Format
PPL$DECREMENT_SEMAPHORE semaphore-id [,flags] [,spin]
semaphore-id
OpenVMS usage identifier
type longword (unsigned)
access read only
mechanism by reference
Identifier of the semaphore. The semaphore-id argument is the
address of an unsigned longword containing the identifier.
Semaphore-id is returned by PPL$CREATE_SEMAPHORE.
flags
OpenVMS usage mask_longword
type longword (unsigned)
access read only
mechanism by reference
Bit mask specifying options for decrementing the semaphore. The
flags argument is a longword bit mask containing the flag. The
valid values for flags are as follows:
PPL$M_NON_ Indicates that the caller is not to block if
BLOCKING the resource is not available. The default is
FALSE: the caller will block if resource is
unavailable.
PPL$M_SPIN_WAIT Indicates that the caller is never to block,
but rather to always spin while waiting at
this barrier.
PPL$M_SPIN_ Indicates that the caller wishes to spin for
COUNTED a given amount of instructions and then to
block. The default is block immediately, do
not spin at all.
spin
OpenVMS usage mask_longword
type long (unsigned)
access read only
mechanism by reference
This value must be specified when using the PPL$M_SPIN_COUNTED
flag and represents a relative time that a process will spin
before blocking.
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.