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