AMX 86 Procedures
K
A
DAK
305
ajsmrls ajsmrlsPurpose Release a Resource Semaphore
Used by n Task o IS P o Timer Procedure o Restart Procedure n Exit Procedure
Setup AMXID semid;
int status;
.
.
status = ajsmrls(semid); /* nested release */
AX BX
Where semid is the semaphore id of a resource semaphore acquired by a call to
ajsmcre.
Results Interrupts are disabled and then restored to their state at the time of the
call.
Status is returned.
AEROK = Call successful
AERNSS = Invalid semaphore id
AERRNY = Resource semaphore cannot be released since the calling
task does not own the resource.
Note The resource's use count is decremented by one for each call to ajsmrls.
The resource is not freed until the use count becomes zero.
Once freed, the resource will immediately be given to the task (if any)
which is waiting at the head of the resource semaphore wait queue. Task
rescheduling occurs immediately if necessary.
Restriction You must not attempt to release a counting semaphore. Use ajsmsig for
that purpose.
See Also ajsmfre, ajsmrsv