%ZTMS1 ;SEA/RDS-TaskMan: Submanager, (Loop & Get Task) ;10/07/08 15:46
Source file <ZTMS1.m>
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| SUBMGR | ;START--outer submanager loop
 | 
|
| GETTASK | ;SUBMGR--retain the partition; check Waiting Lists every 1 seconds
 | 
|
| EXIT() | ;GETTASK--decide whether to exit retention loop
 | 
|
| NO | ;Don't exit, Update status node
 | 
|
| YES | ;EXIT--Yes ;p446
 | 
|
| C | ;GETTASK--On C type volume sets, get tasks from Cross-Volume Job List
 | 
|
| BALANCE() | ;GETTASK--check load balance, and wait while Manager waits
 | 
|
| JOB | ;GETTASK--search Partition Waiting List
 | 
|
| J2 | ||
| J3 | ||
| BADTASK | ;JOB--unschedule tasks with bad numbers or incomplete records
 | 
|
| IOQ | ;GETTASK--search Device Waiting List, Lock IO then DEV.
 | 
|
| I1() | ;Keep 2 sec apart
 | 
|
| I2 | ||
| I3 | ||
| I5 | ||
| IOX | ;
 | 
|
| DEVLK(X,ZIO,TO) | ;1=Lock/-1=unlock the ^%ZTSCH("DEV",ZIO) node.
 | 
|
| SUB(X) | ;Inc/Dec SUB or return SUB count
 | 
|
| JCNT(MAXWAIT) | ;See if less that MaxWait tasks in JOB list p446
 | 
|
| PDIFF(N,O,T) | ;Positive Diff
 | 
|
| DIFF(N,O,T) | ;Diff in sec.
 | 
|
| TSKSTAT(CODE,MSG) | ;Update task's status
 | 
|
| H3(%) | ;Convert $H to seconds.
 | 
|
| H0(%) | ;Covert from seconds to $H
 | 
|
| FIRST() | ;See if SM with lowest $J
 |