Merge lp:~jontai/openvista-gtm-integration/bug392194 into lp:openvista-gtm-integration

Proposed by Jon Tai
Status: Merged
Merged at revision: not available
Proposed branch: lp:~jontai/openvista-gtm-integration/bug392194
Merge into: lp:openvista-gtm-integration
Diff against target: None lines
To merge this branch: bzr merge lp:~jontai/openvista-gtm-integration/bug392194
Reviewer Review Type Date Requested Status
jeff.apple Approve
Review via email: mp+7962@code.launchpad.net
To post a comment you must log in.
Revision history for this message
jeff.apple (jeff-apple) :
review: Approve
78. By Jon Tai

update comments

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'mumps/MSCZJOB.m'
--- mumps/MSCZJOB.m 2009-05-21 00:50:25 +0000
+++ mumps/MSCZJOB.m 2009-06-26 21:06:41 +0000
@@ -1,4 +1,4 @@
1MSCZJOB ;GFT,JDS/MSC;1 MAY 20091MSCZJOB ;GFT,JDS/MSC;26JUN2009
2 ;;8.0;KERNEL;**MSC**2 ;;8.0;KERNEL;**MSC**
3 W !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3 W !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
4 N MSC4 N MSC
@@ -7,9 +7,10 @@
7 D ^DDS Q7 D ^DDS Q
8 ;8 ;
9UNLOCK(D0) ;FROM FIELD 2, PAGE 3: UNLOCK THE LOCK9UNLOCK(D0) ;FROM FIELD 2, PAGE 3: UNLOCK THE LOCK
10 N X,R S R=$G(@MSC@(MSCJOBID,"L",D0)) I R'["^" Q ;CAN'T SEE IT10 N X,R,N S R=$G(@MSC@(MSCJOBID,"L",D0)) I R'["^" Q ;CAN'T SEE IT
11 S R=$P(R," ",2),X="L "_R D ^DIM Q:'$D(X)11 S R=$P(R," ",2),X="L "_R D ^DIM Q:'$D(X)
12 D UNLOCK^MSCZJOBU(R)12 S N=$$NSP(MSCJOBD0)
13 D UNLOCK^MSCZJOBU(R,N)
13 Q14 Q
14 ;15 ;
15KILL(J) ;FROM FIELD16KILL(J) ;FROM FIELD
@@ -18,7 +19,8 @@
18 ;19 ;
19COMPMUL ;COMPUTED MULTIPLE FOR MSCZJOBEXAM BLOCK20COMPMUL ;COMPUTED MULTIPLE FOR MSCZJOBEXAM BLOCK
20 N X,D0,J21 N X,D0,J
21 S MSC="^TMP(""MSCZJOB"")" D POLL22 S MSC="^TMP(""MSCZJOB1"",$J)" D POLL
23 D JOBEXAM^MSCZJOBU(MSC)
22 F D0=0:0 S D0=$O(MSCZJOB(D0)) Q:'D0 D24 F D0=0:0 S D0=$O(MSCZJOB(D0)) Q:'D0 D
23 .S MSCZJOB(D0)=MSCZJOB(D0)_U_$$DEV(D0)_U_$$USER(D0)_U_$$NSP(D0)_U_U_U_U_U_$$ROUTINE(D0)25 .S MSCZJOB(D0)=MSCZJOB(D0)_U_$$DEV(D0)_U_$$USER(D0)_U_$$NSP(D0)_U_U_U_U_U_$$ROUTINE(D0)
24 .S X=MSCZJOB(D0) X DICMX26 .S X=MSCZJOB(D0) X DICMX
@@ -29,7 +31,7 @@
29 .N L,P S N=$$FIND(D0,"I","$ZGBLDIR"),L=$L(N,"/") I L<2 Q31 .N L,P S N=$$FIND(D0,"I","$ZGBLDIR"),L=$L(N,"/") I L<2 Q
30 .F L=L-1:-1:2 S P=$P(N,"/",L) I P'[".",P'["globals" Q32 .F L=L-1:-1:2 S P=$P(N,"/",L) I P'[".",P'["globals" Q
31 .S P=1 I $P(N,"/")="" S P=233 .S P=1 I $P(N,"/")="" S P=2
32 .S N=$P(N,"/",P,L)34 .S N=$P(N,"/",L)
33USER(D0) Q $P($G(^VA(200,+$$FIND(D0,"V","DUZ"),0)),U)35USER(D0) Q $P($G(^VA(200,+$$FIND(D0,"V","DUZ"),0)),U)
34ROUTINE(D0) Q $$FIND(D0,"V","%ZPOS")36ROUTINE(D0) Q $$FIND(D0,"V","%ZPOS")
35 ;37 ;
@@ -38,7 +40,8 @@
38 Q X40 Q X
39 ;41 ;
40COMPSTK ;COMPUTED MULTIPLE FOR MSCZJOBSTACK BLOCK42COMPSTK ;COMPUTED MULTIPLE FOR MSCZJOBSTACK BLOCK
41 S MSC="^TMP(""MSCZJOB"")" K @MSC@(MSCJOBID) D POLL143 S MSC="^TMP(""MSCZJOB1"",$J)" K @MSC@(MSCJOBID) D POLL1
44 D JOBEXAM^MSCZJOBU(MSC,MSCJOBID)
42 N D0,J S J=MSCJOBID45 N D0,J S J=MSCJOBID
43 F D0=1:1:$O(@MSC@(J,"S",""),-1) S X="" X DICMX46 F D0=1:1:$O(@MSC@(J,"S",""),-1) S X="" X DICMX
44 Q47 Q
@@ -47,13 +50,15 @@
47 Q X50 Q X
48 ;51 ;
49COMPVARS ;COMPUTED MULTIPLE FOR MSCZJOBVARS BLOCK52COMPVARS ;COMPUTED MULTIPLE FOR MSCZJOBVARS BLOCK
50 S MSC="^TMP(""MSCZJOB"")" K @MSC@(MSCJOBID) D POLL153 S MSC="^TMP(""MSCZJOB1"",$J)" K @MSC@(MSCJOBID) D POLL1
54 D JOBEXAM^MSCZJOBU(MSC,MSCJOBID)
51 N D0,J S J=MSCJOBID55 N D0,J S J=MSCJOBID
52 F D0=1:1:$O(@MSC@(J,"V",""),-1) S X="" X DICMX56 F D0=1:1:$O(@MSC@(J,"V",""),-1) S X="" X DICMX
53 Q57 Q
54 ;58 ;
55COMPLKS ;COMPUTED MULTIPLE FOR MSCZJOBLOCKS BLOCK59COMPLKS ;COMPUTED MULTIPLE FOR MSCZJOBLOCKS BLOCK
56 S MSC="^TMP(""MSCZJOB"")" D POLL160 S MSC="^TMP(""MSCZJOB1"",$J)" D POLL1
61 D JOBEXAM^MSCZJOBU(MSC,MSCJOBID)
57 N D062 N D0
58 F D0=1:1:$$LOCKS S X="" X DICMX63 F D0=1:1:$$LOCKS S X="" X DICMX
59 Q64 Q
@@ -81,9 +86,9 @@
81TEST Q86TEST Q
82COMPLK ;COMPUTED MULTIPLE FOR MSCZLOCK BLOCK87COMPLK ;COMPUTED MULTIPLE FOR MSCZLOCK BLOCK
83 N X,D0,J88 N X,D0,J
84 S MSC="^TMP(""MSCZJOB"")" D POLL S D0=089 S MSC="^TMP(""MSCZJOB1"",$J)" K @MSC D POLL,JOBEXAM^MSCZJOBU(MSC) S D0=0
85 F K=0:0 S K=$O(MSCZJOB(K)) Q:'K D90 F K=0:0 S K=$O(MSCZJOB(K)) Q:'K D
86 .F J=0:0 S J=$O(^TMP("MSCZJOB",MSCZJOB(K),"L",J)) Q:'J S A=$TR(^(J),U,"~") D91 .F J=0:0 S J=$O(^TMP("MSCZJOB1",$J,MSCZJOB(K),"L",J)) Q:'J S A=$TR(^(J),U,"~") D
87 ..S D0=D0+1,MSCZLK(D0)=$P(A,"LOCK ",2,9)_U_$$USER(K)_U_$TR($$ROUTINE(K),U,"~")_"^^"_MSCZJOB(K)92 ..S D0=D0+1,MSCZLK(D0)=$P(A,"LOCK ",2,9)_U_$$USER(K)_U_$TR($$ROUTINE(K),U,"~")_"^^"_MSCZJOB(K)
88 ..S X=MSCZLK(D0) X DICMX93 ..S X=MSCZLK(D0) X DICMX
89 Q94 Q
@@ -91,6 +96,7 @@
91 S DDSFILE=3.081,DR="[MSCZLOCK]",DDSPARM="S"96 S DDSFILE=3.081,DR="[MSCZLOCK]",DDSPARM="S"
92 D ^DDS Q97 D ^DDS Q
93UNL(D0) ;FROM FIELD 2, PAGE 3: UNLOCK THE LOCK98UNL(D0) ;FROM FIELD 2, PAGE 3: UNLOCK THE LOCK
94 N X,R S R=$P($G(MSCZLK(D0)),U),P=$P($G(MSCZLK(D0)),U,5) ;I R'["^" Q ;CAN'T SEE IT99 N X,R,N S R=$P($G(MSCZLK(D0)),U),P=$P($G(MSCZLK(D0)),U,5) ;I R'["^" Q ;CAN'T SEE IT
95 S R=$P(R,"~",2),R="^"_$S(R'["(":$P(R," "),1:$P(R,")")_")"),X="L "_R D ^DIM Q:'$D(X) ;GOOD SYNTAX?100 S R=$P(R,"~",2),R="^"_$S(R'["(":$P(R," "),1:$P(R,")")_")"),X="L "_R D ^DIM Q:'$D(X) ;GOOD SYNTAX?
96 D UNLOCK^MSCZJOBU(R)101 S N=$$NSP(D0)
102 D UNLOCK^MSCZJOBU(R,N)
97103
=== modified file 'mumps/MSCZJOBS.m'
--- mumps/MSCZJOBS.m 2009-06-01 18:46:25 +0000
+++ mumps/MSCZJOBS.m 2009-06-26 17:39:51 +0000
@@ -1,4 +1,4 @@
1MSCZJOBS ;JKT/MSC - OpenVista System status ;27MAY20091MSCZJOBS ;JKT/MSC - OpenVista System status ;26JUN2009
2 ;;8.0;KERNEL;**MSC**2 ;;8.0;KERNEL;**MSC**
3 ;3 ;
4ALL D SS() Q4ALL D SS() Q
@@ -13,19 +13,22 @@
13 D INTRPT^MSCZJOBU("*") H .513 D INTRPT^MSCZJOBU("*") H .5
14 ;14 ;
15 N DATETIME S DATETIME=$$HTE^XLFDT($H)15 N DATETIME S DATETIME=$$HTE^XLFDT($H)
16 W #!,?22,"OpenVista System Status"16 W #!,?28,"OpenVista System Status"
17 W !,?(34-($L(DATETIME)/2)\1),DATETIME17 W !,?(40-($L(DATETIME)/2)\1),DATETIME
18 W !!,?1,"Process",?12,"Device",?30,"Instance",?42,"Routine",?56,"User"18 W !!,?1,"Process",?12,"Device",?30,"Instance",?42,"Routine",?56,"User",?70,"Identity"
19 ;19 ;
20 N MSC S MSC="^TMP(""MSCZJOB1"",$J)" K @MSC
21 D JOBEXAM^MSCZJOBU(MSC)
20 N PID S PID=""22 N PID S PID=""
21 D PIDS^MSCZJOBU(.PID)23 F S PID=$O(@MSC@(PID)) Q:PID="" D
22 F S PID=$O(PID(PID)) Q:PID="" D
23 . I $G(THIS) Q:$$INSTANCE(PID)'=$$CURRENT^ZCD()24 . I $G(THIS) Q:$$INSTANCE(PID)'=$$CURRENT^ZCD()
24 . W !,$$PID(PID)25 . W !,$$PID(PID)
25 . W ?12,$$DEVICE(PID)26 . W ?12,$$DEVICE(PID)
26 . W ?30,$$INSTANCE(PID)27 . W ?30,$$INSTANCE(PID)
27 . W ?42,$$ROUTINE(PID)28 . W ?42,$$ROUTINE(PID)
28 . W ?56,$$USER(PID)29 . W ?56,$$USER(PID)
30 . W ?70,$$IDENT(PID)
31 K @MSC
29 ;32 ;
30 W !! ZSY "uptime"33 W !! ZSY "uptime"
31 Q34 Q
@@ -34,22 +37,24 @@
34 Q $J(PID,8)_$S($J=PID:"*",1:"")37 Q $J(PID,8)_$S($J=PID:"*",1:"")
35 ;38 ;
36DEVICE(PID) ;Return device39DEVICE(PID) ;Return device
37 Q $$FIND("^TMP(""MSCZJOB"")",PID,"I","$PRINCIPAL")40 Q $$FIND(PID,"I","$PRINCIPAL")
38 ;41 ;
39INSTANCE(PID) ;Return name of OpenVista instance42INSTANCE(PID) ;Return name of OpenVista instance
40 N ZG S ZG=$$FIND("^TMP(""MSCZJOB"")",PID,"I","$ZGBLDIR")43 N ZG S ZG=$$FIND(PID,"I","$ZGBLDIR")
41 Q $P(ZG,"/",$L(ZG,"/")-2)44 Q $P(ZG,"/",$L(ZG,"/")-2)
42 ;45 ;
43ROUTINE(PID) ;Return routine46ROUTINE(PID) ;Return routine
44 Q $P($$FIND("^TMP(""MSCZJOB"")",PID,"V","%ZPOS"),"^",2)47 Q $P($$FIND(PID,"V","%ZPOS"),"^",2)
45 ;48 ;
46USER(PID) ;Return OpenVista user49USER(PID) ;Return Linux user
47 N DUZ S DUZ=+$$FIND("^TMP(""MSCZJOB"")",PID,"V","DUZ")50 Q $$OWNER^MSCZJOBU(PID)
48 ; FIXME: this code is looking up the name of the person in *this* 51 ;
49 ; instance, which assumes that ^VA(200) is the same across databases52IDENT(PID) ;Return OpenVista user
50 Q $P($G(^VA(200,DUZ,0)),"^")53 N DUZ S DUZ=+$$FIND(PID,"V","DUZ")
51 ;54 N ZG S ZG=$$FIND(PID,"I","$ZGBLDIR")
52FIND(NODE,PID,ARR,KEY) ;Return the value of a key in one of the ZSHOW arrays55 Q $P($G(^|ZG|VA(200,DUZ,0)),"^")
56 ;
57FIND(PID,ARR,KEY) ;Return the value of a key in one of the ZSHOW arrays
53 N I,X S I="",X=""58 N I,X S I="",X=""
54 F S I=$O(@NODE@(PID,ARR,I)) Q:'I I $P(^(I),KEY_"=")="" S X=$TR($P(^(I),"=",2),"""") Q59 F S I=$O(@MSC@(PID,ARR,I)) Q:'I I $P(@MSC@(PID,ARR,I),KEY_"=")="" S X=$TR($P(@MSC@(PID,ARR,I),"=",2),"""") Q
55 Q X60 Q X
5661
=== modified file 'mumps/MSCZJOBU.m'
--- mumps/MSCZJOBU.m 2009-05-21 01:38:37 +0000
+++ mumps/MSCZJOBU.m 2009-06-26 21:06:41 +0000
@@ -1,4 +1,4 @@
1MSCZJOBU ;RHL,JDS,JKT/MSC;20MAY20091MSCZJOBU ;RHL,JDS,JKT/MSC;26JUN2009
2 ;;8.0;KERNEL;**MSC**2 ;;8.0;KERNEL;**MSC**
3 ;3 ;
4 ; JOB EXAM UTILITIES FOR GT.M4 ; JOB EXAM UTILITIES FOR GT.M
@@ -10,7 +10,7 @@
10 ;10 ;
11 N DEV11 N DEV
12 S DEV="psdev"12 S DEV="psdev"
13 OPEN DEV:(COMM="ps -o pid= -C mumps")::"PIPE" U DEV13 OPEN DEV:(COMM="ps -o pid= -C mumps":READONLY)::"PIPE" U DEV
14 ;14 ;
15 N %I S %I=$I15 N %I S %I=$I
16 N %J ; $JOB16 N %J ; $JOB
@@ -21,6 +21,39 @@
21 C DEV21 C DEV
22 Q22 Q
23 ;23 ;
24JOBEXAM(XARY,ONEPID) ; GET ARRAY OF JOB EXAM DATA FOR ALL MUMPS PROCESSES
25 ; XARY PASSED BY REFERENCE
26 ;
27 ; get a list of all OpenVista instances and look up their $ZG values
28 N Y D LIST^ZCD
29 N INSTANCE S INSTANCE=""
30 F S INSTANCE=$O(Y("B",INSTANCE)) Q:INSTANCE="" D
31 . N %ZG,%ZRO D NEWZGZRO^ZCD(INSTANCE)
32 . S Y("B",INSTANCE)=%ZG
33 ;
34 I $G(ONEPID) D GETJOB(ONEPID) Q
35 ; for each mumps process, search each OpenVista instance for the latest job exam data
36 D PIDS(.XARY)
37 N PID S PID=""
38 F S PID=$O(XARY(PID)) Q:PID="" D GETJOB(PID)
39 Q
40GETJOB(PID) ;
41 N SORTDATE
42 F S INSTANCE=$O(Y("B",INSTANCE)) Q:INSTANCE="" D
43 . N H S H=$G(^|Y("B",INSTANCE)|TMP("MSCZJOB",PID,0)) Q:H=""
44 . S SORTDATE($$SEC^XLFDT(H))=INSTANCE
45 N MAXDATE S MAXDATE=$O(SORTDATE(""),-1) Q:MAXDATE=""
46 M @XARY@(PID)=^|Y("B",SORTDATE(MAXDATE))|TMP("MSCZJOB",PID)
47 Q
48 ;
49OWNER(PID) ; get owner of process with PID
50 N DEV
51 S DEV="psdev"
52 OPEN DEV:(COMM="ps -o user= -p "_PID:READONLY)::"PIPE" U DEV
53 N UID R UID
54 C DEV
55 Q UID
56 ;
24INTRPT(PID) ; SEND mupip intrpt to process with PID57INTRPT(PID) ; SEND mupip intrpt to process with PID
25 ; WHICH CAUSES THE $ZINTERRUPT CODE TO BE EXECUTED.58 ; WHICH CAUSES THE $ZINTERRUPT CODE TO BE EXECUTED.
26 ; PID PASSED BY VALUE59 ; PID PASSED BY VALUE
@@ -32,7 +65,7 @@
32 N CMD,DEV65 N CMD,DEV
33 S CMD="gtmsignal -q "_$S(PID="*":"-a",1:PID)66 S CMD="gtmsignal -q "_$S(PID="*":"-a",1:PID)
34 S DEV="gtmsignaldev"67 S DEV="gtmsignaldev"
35 OPEN DEV:(COMM=CMD)::"PIPE" U DEV C DEV68 OPEN DEV:(COMM=CMD:READONLY)::"PIPE" U DEV C DEV
36 Q69 Q
37 ;70 ;
38KILL(PID) ; Send mupip stop to process with PID71KILL(PID) ; Send mupip stop to process with PID
@@ -43,12 +76,15 @@
43 ;76 ;
44 N DEV77 N DEV
45 S DEV="gtmsignaldev"78 S DEV="gtmsignaldev"
46 OPEN DEV:(COMM="gtmsignal -q -s "_PID)::"PIPE" U DEV C DEV79 OPEN DEV:(COMM="gtmsignal -q -s "_PID:READONLY)::"PIPE" U DEV C DEV
47 Q80 Q
48 ;81 ;
49UNLOCK(NODE) ; Use lke to remove lock on NODE.82UNLOCK(NODE,INSTANCE) ; Use lke to remove lock on NODE.
83 N %ZG,%ZRO
84 D:$G(INSTANCE)'="" NEWZGZRO^ZCD(INSTANCE)
50 N CMD,DEV85 N CMD,DEV
51 S CMD="lke clear -lock="""_NODE_""" -nointeractive -output=/dev/null"86 S CMD="lke clear -lock="""_NODE_""" -nointeractive -output=/dev/null"
87 S:$G(%ZG)'="" CMD="gtmgbldir="""_%ZG_""" "_CMD
52 S DEV="lkedev"88 S DEV="lkedev"
53 OPEN DEV:(COMM=CMD)::"PIPE" U DEV C DEV89 OPEN DEV:(SHELL="/bin/sh":COMM=CMD:READONLY)::"PIPE" U DEV C DEV
54 Q90 Q
5591
=== modified file 'mumps/ZCD.m'
--- mumps/ZCD.m 2009-06-25 00:16:23 +0000
+++ mumps/ZCD.m 2009-06-25 23:15:27 +0000
@@ -1,4 +1,4 @@
1ZCD ; MSC/JKT,JDS ; "Namespace" utilities for GT.M/Unix ; 24JUN20091ZCD ; MSC/JKT,JDS ; "Namespace" utilities for GT.M/Unix ; 25JUN2009
2 ;;8.0;KERNEL;**MSC**;April 21 20092 ;;8.0;KERNEL;**MSC**;April 21 2009
3 ; This routine assumes that your global directory file exists one 3 ; This routine assumes that your global directory file exists one
4 ; directory below the root of the instance, e.g., 4 ; directory below the root of the instance, e.g.,
@@ -57,15 +57,7 @@
57 Q57 Q
58 ;58 ;
59SWITCH(INSTANCE) ; switch to another OpenVista instance59SWITCH(INSTANCE) ; switch to another OpenVista instance
60 ;60 N %ZG,%ZRO D NEWZGZRO(INSTANCE) I %ZG="",%ZRO="" Q 0
61 ; don't allow switching if GT.M versions aren't the same
62 Q:$$GTMPATH($$CURRENT())'=$$GTMPATH(INSTANCE) 0
63 ;
64 ; there are several ways to determine new values of $ZG and $ZRO
65 ; try each method until one succeeds
66 N %ZG,%ZRO,%METHOD S %ZG="",%ZRO=""
67 F %METHOD="ENV","CAT","REP" Q:$$@("SWITCH"_%METHOD)(INSTANCE)
68 I %ZG="",%ZRO="" Q 0
69 ;61 ;
70 ; FIXME: set gtm_dist="$root/$instance/gtm"62 ; FIXME: set gtm_dist="$root/$instance/gtm"
71 N %TEMPDIR S %TEMPDIR=$$MKTEMP() S $ZG=%ZG,$ZRO=%ZRO_" "_%TEMPDIR63 N %TEMPDIR S %TEMPDIR=$$MKTEMP() S $ZG=%ZG,$ZRO=%ZRO_" "_%TEMPDIR
@@ -99,26 +91,39 @@
99 Q:'$Q91 Q:'$Q
100 Q 192 Q 1
101 ;93 ;
102SWITCHENV(INSTANCE) ; private entry point to be used by $$SWITCH only94NEWZGZRO(INSTANCE) ; determine new values of $ZG and $ZRO
95 S %ZG="",%ZRO=""
96 ;
97 ; don't allow switching if GT.M versions aren't the same
98 Q:$$GTMPATH($$CURRENT())'=$$GTMPATH(INSTANCE)
99 ;
100 ; there are several ways to determine new values of $ZG and $ZRO
101 ; try each method until one succeeds
102 N %METHOD F %METHOD="ENV","CAT","REP" D @("SWITCH"_%METHOD)(INSTANCE) Q:%ZG'=""&(%ZRO'="")
103 Q
104 ;
105SWITCHENV(INSTANCE) ; private entry point
103 ; set new $ZG and $ZRO by parsing env file in target instance106 ; set new $ZG and $ZRO by parsing env file in target instance
104 ;107 ;
105 ; FIXME: implement this108 ; FIXME: implement this
106 Q 0109 Q
107 ;110 ;
108SWITCHCAT(INSTANCE) ; private entry point to be used by $$SWITCH only111SWITCHCAT(INSTANCE) ; private entry point
109 ; set new $ZG and $ZRO by concatenating conventional names to $$ROOT112 ; set new $ZG and $ZRO by concatenating conventional names to $$ROOT.
113 ; NOTE: this code makes assumptions about the directory layout of the
114 ; OpenVista instance.
110 ;115 ;
111 S %ZG=$$PATH(INSTANCE)_"/globals/mumps.gld"116 S %ZG=$$PATH(INSTANCE)_"/globals/mumps.gld"
112 S %ZRO=$$PATH(INSTANCE)_"/objects("_$$PATH(INSTANCE)_"/routines) "_$$PATH(INSTANCE)_"/gtm"117 S %ZRO=$$PATH(INSTANCE)_"/objects("_$$PATH(INSTANCE)_"/routines) "_$$PATH(INSTANCE)_"/gtm"
113 ;118 ;
114 ; FIXME: check that %ZG actually exists and that all pieces of %ZRO exist119 ; FIXME: check that %ZG actually exists and that all pieces of %ZRO exist
115 Q 1120 Q
116 ;121 ;
117SWITCHREP(INSTANCE) ; private entry point to be used by $$SWITCH only122SWITCHREP(INSTANCE) ; private entry point
118 ; set new $ZG and $ZRO by replacing $$PATH($$CURRENT()) with $$PATH(INSTANCE)123 ; set new $ZG and $ZRO by replacing $$PATH($$CURRENT()) with $$PATH(INSTANCE)
119 ;124 ;
120 ; FIXME: implement this125 ; FIXME: implement this
121 Q 0126 Q
122 ;127 ;
123MKTEMP() ; create a secure temporary directory, returns path to new directory128MKTEMP() ; create a secure temporary directory, returns path to new directory
124 N %PIPE,%I S %PIPE="mktemp",%I=$I129 N %PIPE,%I S %PIPE="mktemp",%I=$I
125130
=== modified file 'mumps/ZOSFGUX.m'
--- mumps/ZOSFGUX.m 2009-06-05 18:44:13 +0000
+++ mumps/ZOSFGUX.m 2009-06-26 07:02:30 +0000
@@ -1,4 +1,4 @@
1ZOSFGUX ;SFISC/MVB,PUG/TOAD MSC/JDS- ZOSF Table for GT.M for Unix ;6JUN20091ZOSFGUX ;SFISC/MVB,PUG/TOAD MSC/JDS,JKT- ZOSF Table for GT.M for Unix ;26JUN2009
2 ;;8.0;KERNEL;**275,MSC**;Jul 10, 19952 ;;8.0;KERNEL;**275,MSC**;Jul 10, 1995
3 ;; for GT.M for Unix, version 4.33 ;; for GT.M for Unix, version 4.3
4 ;4 ;
@@ -100,7 +100,7 @@
100 ;;RSUM100 ;;RSUM
101 ;;S Y=0 F %=1,3:1 S %1=$T(+%^@X),%3=$F(%1," ") Q:'%3 S %3=$S($E(%1,%3)'=";":$L(%1),$E(%1,%3+1)=";":$L(%1),1:%3-2) F %2=1:1:%3 S Y=$A(%1,%2)*%2+Y101 ;;S Y=0 F %=1,3:1 S %1=$T(+%^@X),%3=$F(%1," ") Q:'%3 S %3=$S($E(%1,%3)'=";":$L(%1),$E(%1,%3+1)=";":$L(%1),1:%3-2) F %2=1:1:%3 S Y=$A(%1,%2)*%2+Y
102 ;;SS102 ;;SS
103 ;;D ^MSCZJOB103 ;;D ^%SS
104 ;;SAVE104 ;;SAVE
105 ;;D SAVE^%ZOSV2(X) ;N %I,%F S %I=$I,%F=$P($S($ZRO["(":$P($P($ZRO,"(",2),")"),1:$ZRO)," ")_"/"_X_".m" O %F:(NEWVERSION) U %F X "F S XCN=$O(@(DIE_XCN_"")"")) Q:+XCN'=XCN S %=@(DIE_XCN_"",0)"") Q:$E(%,1)=""$"" I $E(%)'="";"" W %,!" C %F U %I105 ;;D SAVE^%ZOSV2(X) ;N %I,%F S %I=$I,%F=$P($S($ZRO["(":$P($P($ZRO,"(",2),")"),1:$ZRO)," ")_"/"_X_".m" O %F:(NEWVERSION) U %F X "F S XCN=$O(@(DIE_XCN_"")"")) Q:+XCN'=XCN S %=@(DIE_XCN_"",0)"") Q:$E(%,1)=""$"" I $E(%)'="";"" W %,!" C %F U %I
106 ;;SIZE106 ;;SIZE
107107
=== modified file 'mumps/ZUGTM.m'
--- mumps/ZUGTM.m 2009-06-09 20:13:51 +0000
+++ mumps/ZUGTM.m 2009-06-26 00:26:42 +0000
@@ -1,4 +1,4 @@
1ZU ;SF/JLI,RWF MSC/JDS- For GT.M, TIE ALL TERMINALS TO THIS ROUTINE!! ;01MAY20091ZU ;SF/JLI,RWF MSC/JDS,JKT- For GT.M, TIE ALL TERMINALS TO THIS ROUTINE!! ;25JUN2009
2 ;;8.0;KERNEL;**275,MSC**;Jul 10, 19952 ;;8.0;KERNEL;**275,MSC**;Jul 10, 1995
3 ; for GT.M for VMS & Unix, version 4.33 ; for GT.M for VMS & Unix, version 4.3
4 ;4 ;
@@ -81,6 +81,7 @@
81 I $G(^XUTL("XUSYS","COMMAND"))'="EXAM" ZSHOW "SD":^XUTL("XUSYS",$J,"JE")81 I $G(^XUTL("XUSYS","COMMAND"))'="EXAM" ZSHOW "SD":^XUTL("XUSYS",$J,"JE")
82 I $G(^XUTL("XUSYS","COMMAND"))="EXAM" ZSHOW "*":^XUTL("XUSYS",$J,"JE")82 I $G(^XUTL("XUSYS","COMMAND"))="EXAM" ZSHOW "*":^XUTL("XUSYS",$J,"JE")
83 I $G(^XUTL("XUSYS",$J,"CMD"))="HALT" ;To do.83 I $G(^XUTL("XUSYS",$J,"CMD"))="HALT" ;To do.
84 S ^TMP("MSCZJOB",$J,0)=$H
84 ZSHOW "*":^TMP("MSCZJOB",$J)85 ZSHOW "*":^TMP("MSCZJOB",$J)
85 Q 186 Q 1
86 ;87 ;

Subscribers

People subscribed via source and target branches