For last file, post end status in RDEVBLOK .Ql1 KVSf, For HOLD status file (VDEVSFLG=VDEVHOLD), call DMKCKSPL. DMKCKSPL ---Checkpoints the file. DMKVSP, FILECLR ----Unchain-the-file (except hold files) from the reader queue and call DMKSPLDL. DMKSPLDL ---oelete the file. DMKVSP, DVICECLR call DMKRPAGT. DMKRPAGT ---aeleases the storage page. DMKPGTVR ---aeleases the virtual buffer. DMKFRET ---aeleases storage for the work buffer and VSPLCTL block. SPOOLING TO THE REAL PRINTER/pUNCH OUTPUT DEVICE DMKRSPEX from the dispatcher when an IOBLOK is un stacked with and
interrupted for spooling unit record device. IOBRIDD points to the RDEVBLOK RDEVTYPC input or output class. DMKRSP, RSPLOUT an available spool device (not active), Get storage for a work buffer and build a RSPLCTL block and link it
to RDEVBLOK. DMKRSP, PRNXTFIL -- search-prInter and punch SFBLOK chains for corresponding device and
class. On a found condition, unchain the block, put its address in RSPSFBLK. The FLASH name specified in the SPOOL command, if FLASH is
specified, must match the flash overlay name for a 3800 printer. DMKSEPSP provides separators for output pages or cards. DMKTCSET device is a 3800 printer, call this module to set it up Bring first spool data DASD page to the work buffer and convert ccw
addresses to real device addresses Start the spool device .QMKRSP, Repeat the process until done .QMKRSf, Reprocess and reaccess the buffer, if multiple copies are specified. DMKCKSPL ---Checkpoint records the change to COpy count. DMKSPLDL ---nelete the file on completion (unless HOLD specified). If the device
is a 3800 printer, check for delayed purge Locate the next spool file to process. Processing for the device is complete as there are no more SFBLOK, for this device or the device was drained. DMKFRET ---aelease work area and completed IOBLOK storage. DMKDSPCH the dispatcher.
1-218 IBM VM/370 System Logic and Problem Determination--Volume 1
SPOOLING TO THE REAL INPUT DEVICE DKKSPLOR Assume there is no active file being processed on the real input file
reader. The spooling operator has issued the START com.and to the
device to "open" the reader. DKKSPL, Build RSPLCTL and SFBLOK. DKKPGTVG buffer and place its address in RSPVPAGE. DKKPGTSG Get-DASD buffer and place its address in SFBSTART and RSPDP1GE, linke
together by pointers. Start the reader. DMKDSPCH -- Awalt the interruption. DKKRSP, RDERGETID ---check that-the first card in the buffer is the userid header. If so,
proceed. DMKRSP RDRCARDS ---Preload the-buffer with CCWs. Issue the 510 (SIO's of 42 cards per buffer load) DMKRSP, RDRSIO ---Write the-buffer to the DASD slot. Repeat until EOF detected. DMKSPLCR ---Close the file on EOF. Queue the file on reader spool chains. DMKCKSPL spool reader file block to the checkpoint cylinder data. If the file owner is logged on, and his virtual reader is available,
an IOBLOK is constructed with device end pending - DMKSTKIO -Stacks it. Release storage for virtual buffer, RSPLCTL and the SFBLOK. DKKDSPCH -- Exit-to the dispatcher. SPOOL FILE DELETION DMKPLDL ---With R7 not equal to zero, place the specified SFBtOK on the delete
chain anchored to DMKRSPDL. DMKCKSPL ---nelete the SFBLOK from checkpoint cylinder data. Assume the delete routine is not running, build a CPEXBLOK to call DKKSPLDR. Sets the DELSW=X'80' (delete routine active) DMKSTKCP -- Stacks it and exits to caller. DKKSPLDR ----on-unstacking the CPEXBLOK, if the SFBLOK is a syste. duap file,
calls DMKDRDDD. DKKDRDDD -- Deallocates DASD buffers. DMKSPL, For complete allocation chains of RECBLOKS, call DKKPGTSR CP Method of Operation and Prograa Organization 1-219
Previous Page Next Page