Kernel domain XPI functions
The XPI provides two kernel domain functions. These are the DFHKEDSX calls START_PURGE_PROTECTION and STOP_PURGE_PROTECTION.
The START_PURGE_PROTECTION call
The START_PURGE_PROTECTION function is provided on the DFHKEDSX macro call. It inhibits purge, but not force-purge, for the current task. This function can be used by all global user exit programs to inhibit purge during a global user exit call. In general, each START_PURGE_PROTECTION call should have a corresponding STOP_PURGE_PROTECTION function call to end the purge protection period on completion of any program logic that needs such protection.
DFHKEDSX [CALL,]
[CLEAR,]
[IN,
FUNCTION(START_PURGE_PROTECTION),]
[OUT,
RESPONSE (name1 | *)]This command is threadsafe.
There are no input or output parameters on this call, only a RESPONSE.
The STOP_PURGE_PROTECTION call
The STOP_PURGE_PROTECTION function is provided on the DFHKEDSX macro call. It is re-enables purge for the current task after purge has been suspended by a preceding START_PURGE_PROTECTION function call.
DFHKEDSX [CALL,]
[CLEAR,]
[IN,
FUNCTION(STOP_PURGE_PROTECTION),]
[OUT,
RESPONSE (name1 | *)]This command is threadsafe.
There are no input or output parameters on this call, only a RESPONSE.
Nesting purge protection calls
The START_ and STOP_PURGE_PROTECTION functions can be nested. You should ensure that, if multiple START_PURGE_PROTECTION calls are issued for a task, that the correct number of STOP_PURGE_PROTECTION calls are issued to cancel the purge protection.
If you issue two starts and only one stop, purge protection remains on for the current task.
XEIIN:
EXIT_PROG1: Calls START_PURGE_PROTECTION
XFCREQ:
EXIT_PROG2: Calls START_PURGE_PROTECTION
XFCREQC:
EXIT_PROG3: Calls STOP_PURGE_PROTECTION
XEIOUT:
EXIT_PROG4: Calls STOP_PURGE_PROTECTION