Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: XOBSRA1

XOBSRA1.m

Go to the documentation of this file.
  1. XOBSRA1 ;mjk,esd/alb - VistALink Reauthentication Code ; 05/22/2003 07:00
  1. ;;1.6;VistALink Security;;May 08, 2009;Build 15
  1. ;Per VHA directive 2004-038, this routine should not be modified.
  1. QUIT
  1. ;
  1. KILL ; -- clean up partition's local symbol table ; called from INIT^XOBSRA
  1. ;SET AAXOB="before" DO ^%ZTER ; -- used to view symbol table 'before' state
  1. ;
  1. IF XOBOS["OpenM" DO
  1. . ; -- Stack: CACHEVMS^XOBVTCP
  1. . ; SPAWN^XOBVLL
  1. . ; NXTCALL^XOBVLL
  1. . ; EN^XOBVRM
  1. . ; EN^XOBVRPC()
  1. . ; SETUPDUZ^XOBSRA()
  1. . ;
  1. . ; -- NEW non-XOB variables created in above stack
  1. . NEW DIQUIET,DX,DY,RPC0,RPCNAME,RPCIEN,TAG,ROU,METHSIG,XRTN
  1. . DO CACHE("XOB")
  1. ELSE DO
  1. . DO OTHER
  1. ;
  1. ;SET AAXOB="after" DO ^%ZTER ; -- used to view symbol table 'after' state
  1. QUIT
  1. ;
  1. CACHE(%NS) ; -- KILL all 'L'ocal 'VAR'iables except for a 'N'ame'S'pace (%NS) and Kernel for Cache systems
  1. NEW %LVAR,%NSLEN
  1. SET %NSLEN=$LENGTH(%NS)
  1. SET %LVAR=%NS
  1. FOR SET %LVAR=$ORDER(@%LVAR) QUIT:%LVAR=""!($EXTRACT(%LVAR,1,%NSLEN)'=%NS) NEW @%LVAR
  1. ; -- NEW Kernel variables and do the big KILL
  1. DO KILL^XUSCLEAN
  1. QUIT
  1. ;
  1. OTHER ; -- explicit NEW'ing for other for non-Cache M implementations
  1. ; -- The following are NEW'ed as part KILL^XOBVLL call:
  1. ; XOBPORT,XOBSTOP,XOBNULL,XOBOS,XOBSYS,XOBHDLR,XOBOK
  1. ; -- additional NEW'ing needed to preserve for CACHEVMS^XOBVTCP
  1. NEW XOBEC
  1. ; -- additional NEW'ing needed to preserve for SPAWN^XOBVLL
  1. NEW XOBLASTR
  1. ; -- additional NEW'ing needed to preserve for NXTCALL^XOBVLL
  1. NEW XOBROOT,XOBREAD,XOBTO,XOBFIRST,XOBDATA,DIQUIET
  1. ; -- additional NEW'ing needed to preserve for EN^XOBVRM
  1. NEW XOBOPT
  1. ; -- additional NEW'ing needed to preserve for EN^XOBVRPC()
  1. NEW DX,DY,RPC0,RPCNAME,RPCIEN,TAG,ROU,METHSIG,XOBERR,XOBR,XOBSEC,XOBWRAP,XRTN,XOBRA,XOBVER,XOBPTYPE
  1. ; -- additional NEW'ing needed to preserve for SETUPDUZ^XOBSRA()
  1. NEW XOBERR,XOBID,XOBTYPE
  1. ; -- call KILL^XOBVLL to finish NEW'ing and execute Kernel call to kill
  1. DO KILL^XOBVLL
  1. QUIT
  1. ;