Actions of the default program, DFHCESD

The default shutdown assist program, DFHCESD, attempts to purge and backout long-running tasks. It ensures that as many tasks as possible commit or backout cleanly, enabling CICS® to shut down in a controlled manner.

Tasks are purged in three steps; successive steps use increasingly stronger purge techniques and are invoked only if tasks refuse to disappear from the system. The three purge steps that DFHCESD moves through are:

  1. Normal purge is issued for all remaining tasks.
  2. VTAM® is force closed, IRC and TCP/IP are closed immediately.
  3. CICS is shut down using PERFORM SHUT IMMEDIATE. (Note that this step does not cause the shutdown assist transaction to run again.)

To check whether tasks are ending sufficiently quickly, DFHCESD samples the number present in the system. It performs a purge operation, and moves on to the next step, only if the number of tasks does not reduce over eight samples (normal shutdown) or four samples (immediate shutdown). After taking a sample, DFHCESD issues a delayed EXEC CICS START request for itself, passing the current sample count in a temporary storage (TS) queue record. The new invocation of DFHCESD also takes a sample, and compares this with the last sample from the TS queue record. It then decides whether to carry out the purge operation and move to the next step, or to remain on the current step.

The information passed to DFHCESD in the TS queue record is:

SDFN    Char(2)           Step to be performed (00,01,02,03)
SDXN   Char(4)            Task number of task that started shutdown
SDET   Bin(15)            Number of samples giving the value in SDNT
SDNT   Bin(31)            Number of tasks in the system at last sample

On the initial invocation, SDFN is '00', SDXN is set to the task number of the shutdown task, and SDNT and SDET are zero.

Thus, DFHCESD’s processing sequence is as follows:

Initial step 00
In step 00, if shutdown is NORMAL, DFHCESD puts out a message and waits for two minutes. It then issues a delayed start of CESD every two seconds.
Purge step 01
The transaction dump data set is closed and task purge is issued for all remaining transactions, with messages giving details of each transaction still running and each UOW shunted.
Purge step 02
Unless VTAM persistent sessions support is being used (that is, unless the persistent session delay interval is set to a value greater than zero), VTAM is force closed, IRC and TCP/IP are closed immediately.
Purge step 03
CICS is shut down abnormally, with messages giving details of each transaction still running and each UOW shunted.

Related reference
Shutdown assist program (DFHCESD)
The sample shutdown assist programs
[[ Contents Previous Page | Next Page Index ]]