Kevin, there are two kinds of locks in VISTA. M Locks and software
locks coordinated via globals located in ^XTMP. M Locks are done
mainly to prevent write contention in the database. Occasionally
though, they are done to prevent users from caring for the same
patient at the same time (e.g. pharmacists and doctors can't place
orders at the same time). Software locks are done via node in ^XTMP.
They are used mainly to prevent users from caring for the same patient
at the same time, as they live between processes; M Locks die with the
process if the process gets killed.
You can see the M Locks using the program lke on GT.M:
sam@icarus:/var/local/foia201502$ lke
LKE> show
%GTM-I-NOLOCKMATCH, No matching locks were found in C0CRXN
%GTM-I-LOCKSPACEUSE, Estimated free lock space: 100% of 100 pages
DEFAULT
^%ZTSCH("SUBLK","ROU:icarus",26273)
Owned by PID= 26273 which is an existing process
^%ZTSCH("TASK",1676) Owned by PID= 7251 which is an existing process
^%ZTSCH("TASK",1677) Owned by PID= 7307 which is an existing process
^XMBPOST("POST_Mover") Owned by PID= 7251 which is an existing process
^XMBPOST("POST_Tickler") Owned by PID= 7307 which is an existing process
^XOB(18.01,"VistALink Listener","ROU","VAH","ROU:icarus",51502)
Owned by PID= 13437 which is an existing process
^XTMP("PXRM PXK EVENT26635 3150904.104515")
Owned by PID= 26635 which is an existing process
^XTMP("PXRM PXK EVENT26635 3150904.104531")
Owned by PID= 26635 which is an existing process
^XTMP("PXRM PXK EVENT26635 3150904.104628")
Owned by PID= 26635 which is an existing process
^XUTL("XQORM","4732;ORD(101,","XQORM PROTECT",26635)
Owned by PID= 26635 which is an existing process
%GTM-I-LOCKSPACEUSE, Estimated free lock space: 99% of 1000 pages
%GTM-I-NOLOCKMATCH, No matching locks were found in TEMPGBL
%GTM-I-LOCKSPACEUSE, Estimated free lock space: 100% of 1000 pages
You can zwrite ^XTMP 0 nodes to see the software locks. There's one here:
FOIA 2015-02>zwrite ^XTMP(:,0)
^XTMP("K2VC",0)="3150904^3150903^KIDS to Version Control"
^XTMP("PXLCKUSR",0)="3150904^3160903^PCE Encounter Lock"
^XTMP("PXVBKUP",0)="3151031^3150901"
^XTMP("PXVP210",0)="3160902^3150903"
^XTMP("PXVSKB",0)="3151031^3150901"
^XTMP("PXVSKX",0)="3151130^3150901"
^XTMP("XOB VISTA INFO ROU:icarus 13452",0)="3150909^3150902^VistALink
Connection Information [$JOB =13452]"
^XTMP("XOB VISTA INFO ROU:icarus 28423",0)="3150911^3150904^VistALink
Connection Information [$JOB =28423]"
^XTMP("XPDI",0)="3150910^3150903"
^XTMP("XTECLIPS",0)=3120211
--
Sam Habiel, Pharm.D.
VISTA Expertise Network