| 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 | ; | 
|---|