Guardian Procedure Calls Reference Manual
Deadlock. The binary semaphore was forsaken before the procedure call, and it is now locked. The
corresponding errno value is EDEADLK.
4045
Already locked. The binary semaphore was locked by the calling process before the procedure call, and it
remains locked. The corresponding errno value is EALREADY.
4103
Considerations
NOTE: There are additional considerations for privileged callers.
• The force-lock operation and the state of the binary semaphore
If the binary semaphore is locked by another process, then the value of status is 0, the
state of the binary semaphore becomes locked by the calling process, and
◦
processhandle contains the process handle of the process that previously held the
lock on the binary semaphore.
◦ If the binary semaphore is locked by the calling process, then the value of status is
4103, the state of the binary semaphore becomes locked by the calling process, and
processhandle is not updated.
◦ If the binary semaphore is unlocked, then the value of status is 0, the state of the binary
semaphore becomes locked by the calling process, and processhandle contains a
null process handle.
◦ If the binary semaphore is forsaken, then the value of status is 4045, the state of the
binary semaphore becomes locked, and processhandle is not updated.
• For more information about binary semaphores, see General Considerations for Binary
Semaphores (page 89).
Example
status := BINSEM_FORCELOCK_( semid, processhandle );
Related Programming Manuals
For programming information about the BINSEM_FORCELOCK_ procedure, see the Guardian
Programmer's Guide.
92 Guardian Procedure Calls (A-B)