This procedure locks a semaphore. For information about semaphores, which are used to control access to shared resources, see the "Sharing System Resources" chapter in the 3DO System Programmer's Guide.
Arguments
s
The number of the semaphore to be locked.
flags
Semaphore flags.
Only one flag is currently defined:
SEM_WAIT
If the item to be locked is already locked, put the calling task into wait state until the item is available.
Return Value
The procedure returns 1 if the semaphore was successfully locked. If the semaphore is already locked and the SEM_WAIT flag is not set (which indicates that the calling task does not want to wait until the semaphore is available), the procedure returns 0. If an error occurs, the procedure returns an error code.
Implementation
SWI implemented in kernel folio V20.
This is the same SWI as LockItem().
Associated Files
semaphore.h
ANSI C Prototype
Caveats
There are currently no asynchronous locks or shared read locks.