Vacate(semaphore, bidMessage)
void Vacate(struct SignalSemaphore *,struct SemaphoreMessage *);
This function can be used to release a semaphore obtained via
Procure(). However, the main purpose for this call is to be able to remove a bid for a semaphore that has not yet responded. This is required when a
Procure() was issued and the program no longer needs to get the semaphore and wishes to cancel the
Procure() request. The canceled request will be replied with the ssm_Semaphore field set to NULL. If you own the semaphore, the message was already replied and only the ssm_Semaphore field will be cleared.
- NOTE:
-
Pre-V39, Procure() and Vacate() did not work correctly.
They also did not operate on SignalSemaphore semaphores. Old (and broken) MessageSemaphore use as of V39 will no longer work.
Before Kickstart 3.0 (V39),
Procure() and Vacate() used a different semaphore system that was very broken. This new system is only available as of V39 even though the LVOs are the same.