| [613] | 1 | XOBSRA1 ;mjk,esd/alb - VistALink Reauthentication Code ; 05/22/2003  07:00 | 
|---|
|  | 2 | ;;1.5;VistALink Security;;Sep 09, 2005 | 
|---|
|  | 3 | ;;Foundations Toolbox Release v1.5 [Build: 1.5.0.026] | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | QUIT | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | KILL ; -- clean up partition's local symbol table ; called from INIT^XOBSRA | 
|---|
|  | 8 | ;SET AAXOB="before" DO ^%ZTER ; -- used to view symbol table 'before' state | 
|---|
|  | 9 | ; | 
|---|
|  | 10 | IF XOBOS["OpenM" DO | 
|---|
|  | 11 | . ; -- Stack: CACHEVMS^XOBVTCP | 
|---|
|  | 12 | . ;           SPAWN^XOBVLL | 
|---|
|  | 13 | . ;           NXTCALL^XOBVLL | 
|---|
|  | 14 | . ;           EN^XOBVRM | 
|---|
|  | 15 | . ;           EN^XOBVRPC() | 
|---|
|  | 16 | . ;           SETUPDUZ^XOBSRA() | 
|---|
|  | 17 | . ; | 
|---|
|  | 18 | . ; -- NEW non-XOB variables created in above stack | 
|---|
|  | 19 | . NEW DIQUIET,DX,DY,RPC0,RPCNAME,RPCIEN,TAG,ROU,METHSIG,XRTN | 
|---|
|  | 20 | . DO CACHE("XOB") | 
|---|
|  | 21 | ELSE  DO | 
|---|
|  | 22 | . DO OTHER | 
|---|
|  | 23 | ; | 
|---|
|  | 24 | ;SET AAXOB="after" DO ^%ZTER ; -- used to view symbol table 'after' state | 
|---|
|  | 25 | QUIT | 
|---|
|  | 26 | ; | 
|---|
|  | 27 | CACHE(%NS) ; -- KILL all 'L'ocal 'VAR'iables except for a 'N'ame'S'pace (%NS) and Kernel for Cache systems | 
|---|
|  | 28 | NEW %LVAR,%NSLEN | 
|---|
|  | 29 | SET %NSLEN=$LENGTH(%NS) | 
|---|
|  | 30 | SET %LVAR=%NS | 
|---|
|  | 31 | FOR  SET %LVAR=$ORDER(@%LVAR) QUIT:%LVAR=""!($EXTRACT(%LVAR,1,%NSLEN)'=%NS)  NEW @%LVAR | 
|---|
|  | 32 | ; -- NEW Kernel variables and do the big KILL | 
|---|
|  | 33 | DO KILL^XUSCLEAN | 
|---|
|  | 34 | QUIT | 
|---|
|  | 35 | ; | 
|---|
|  | 36 | OTHER ; -- explicit NEW'ing for other for non-Cache M implementations | 
|---|
|  | 37 | ; -- The following are NEW'ed as part KILL^XOBVLL call: | 
|---|
|  | 38 | ;    XOBPORT,XOBSTOP,XOBNULL,XOBOS,XOBSYS,XOBHDLR,XOBOK | 
|---|
|  | 39 | ; -- additional NEW'ing needed to preserve for CACHEVMS^XOBVTCP | 
|---|
|  | 40 | NEW XOBEC | 
|---|
|  | 41 | ; -- additional NEW'ing needed to preserve for SPAWN^XOBVLL | 
|---|
|  | 42 | NEW XOBLASTR | 
|---|
|  | 43 | ; -- additional NEW'ing needed to preserve for NXTCALL^XOBVLL | 
|---|
|  | 44 | NEW XOBROOT,XOBREAD,XOBTO,XOBFIRST,XOBDATA,DIQUIET | 
|---|
|  | 45 | ; -- additional NEW'ing needed to preserve for EN^XOBVRM | 
|---|
|  | 46 | NEW XOBOPT | 
|---|
|  | 47 | ; -- additional NEW'ing needed to preserve for EN^XOBVRPC() | 
|---|
|  | 48 | NEW DX,DY,RPC0,RPCNAME,RPCIEN,TAG,ROU,METHSIG,XOBERR,XOBR,XOBSEC,XOBWRAP,XRTN,XOBRA,XOBVER,XOBPTYPE | 
|---|
|  | 49 | ; -- additional NEW'ing needed to preserve for SETUPDUZ^XOBSRA() | 
|---|
|  | 50 | NEW XOBERR,XOBID,XOBTYPE | 
|---|
|  | 51 | ; -- call KILL^XOBVLL to finish NEW'ing and execute Kernel call to kill | 
|---|
|  | 52 | DO KILL^XOBVLL | 
|---|
|  | 53 | QUIT | 
|---|
|  | 54 | ; | 
|---|