GDSX (Extended General Device Support) Manual

Service Routines
Extended General Device Support (GDSX) Manual529931-001
8-41
INIT^[X]LIST
is released by means of GIVE^CPSEM. This procedure allows a task to release the
checkpoint semaphore.
Consideration
Use the SCF STATS command to see if any tasks are waiting for resources. For
example:
-> STATS PROCESS $GDSX-process-name
INIT^[X]LIST
The INIT^LIST and INIT^XLIST procedures initialize a linked list. INIT^LIST is
intended for use with lists in global memory, while INIT^XLIST is intended for lists in
extended memory.
list input
is a pointer to the header of the list to be initialized.
INIT^SEM
This procedure initializes a semaphore other than the checkpoint semaphore in either
global or extended memory.
The purpose of a semaphore is to ensure the serial access of a shared resource. A
task is considered to have acquired a resource when it owns the semaphore
associated with the resource. TSCODE defines and maintains a checkpoint
semaphore to guarantee that no more than one task is doing a checkpoint at any given
time.
A unique user-defined semaphore should be established for each resource requiring
exclusive access. Three utility procedures are available for managing noncheckpoint
semaphores:
Caution. After checkpointing data to the backup process, the task owning the checkpoint
semaphore must call GIVE^CPSEM to release the semaphore or else the checkpointing
facilities will be locked up.
CALL GIVE^CPSEM
CALL INIT^[X]LIST ( list ); !
i
INT:ref (Use with INIT^LIST)
INT .EXT:ref (Use with INIT^XLIST)