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