2 *-* parse upper arg option rounds >>> "T 3 " >>> "T" >>> "3 " 3 *-* if option<>"" >>> "1" 3 *-* then 3 *-* .traceObject~option=option 4 *-1* say ".traceObject~option:" .traceObject~option >>1> ".traceObject~option: T" .traceObject~option: T 5 *-1* if rounds="" >>1> "0" 7 *-1* do counter c rounds >K1> "COUNTER" => "0" >K1> "FOR" => "3 " >K1> "COUNTER" => "1" 8 *-1* say "round #" c"/"rounds >>1> "round # 1/3 " round # 1/3 9 *-1* obj=.demoMT~new >I1> Method "INIT" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 22 *-1* expose ctlAttribute 23 *-1* ctlAttribute=random(0,125)/1000 -- add some randomness >>1> "0.074" >>1> "a demoMT" 11 *-1* obj~~start("mg")~~start("mu")~~start("bumpCtlAttribute") 12 *-1* msg=.message~new(obj,"bumpCtlAttribute") -- message to send later >>1> "a Message" >I2> Method "MG" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I3> Method "MU" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 13 *-1* waitTime=.timeSpan~fromLongTime("00:00:0" || random(15,25)/1000) -- wait a few msecs >I4> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 35 *-2* expose ctlAttribute 46 *-3* expose ctlAttribute >>1> "a TimeSpan" 26 *-4* expose ctlAttribute 36 *-2* guard off -- guard off 47 *-3* guard on -- guard on 15 *-1* .alarm~new(waitTime, msg) -- send message after waitTime, will unblock 27 *-4* TRACE n -- set trace to normal (in method "bumpCtlAttribute") 32 ctlAttribute=1 37 *-2* reply -- return, remainder on new thread 48 *-3* reply -- return, remainder on new thread 16 *-1* .alarm~new(waitTime, msg) -- send message after waitTime, will unblock >I4> Method "MG" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I2> Method "MU" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 17 *-1* end 38 *-4* guard on when ctlAttribute>0.250 -- guard on 49 *-2* guard off when ctlAttribute>0.250 -- guard off 7 *-1* do counter c rounds >K2> "WHEN" => "1" >K1> "COUNTER" => "2" >K4> "WHEN" => "1" 50 *-2* ctlAttribute=random(0,125)/1000 -- add some randomness 8 *-1* say "round #" c"/"rounds 39 *-4* ctlAttribute=random(0,125)/1000 -- add some randomness >>2> "0.031" >>1> "round # 2/3 " round # 2/3 >>4> "0.086" 51 *-2* guard on when ctlAttribute>0.250 -- guard on 9 *-1* obj=.demoMT~new 40 *-4* call sysSleep random(1,10)/1000 -- add some randomness >I1> Method "INIT" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 22 *-1* expose ctlAttribute 23 *-1* ctlAttribute=random(0,125)/1000 -- add some randomness >>1> "0.05" >>1> "a demoMT" 11 *-1* obj~~start("mg")~~start("mu")~~start("bumpCtlAttribute") 12 *-1* msg=.message~new(obj,"bumpCtlAttribute") -- message to send later >>1> "a Message" >I3> Method "MG" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I5> Method "MU" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 13 *-1* waitTime=.timeSpan~fromLongTime("00:00:0" || random(15,25)/1000) -- wait a few msecs >I6> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 35 *-3* expose ctlAttribute 46 *-5* expose ctlAttribute >>1> "a TimeSpan" 26 *-6* expose ctlAttribute 36 *-3* guard off -- guard off 47 *-5* guard on -- guard on 15 *-1* .alarm~new(waitTime, msg) -- send message after waitTime, will unblock 27 *-6* TRACE n -- set trace to normal (in method "bumpCtlAttribute") 32 ctlAttribute=1 37 *-3* reply -- return, remainder on new thread 48 *-5* reply -- return, remainder on new thread 16 *-1* .alarm~new(waitTime, msg) -- send message after waitTime, will unblock >I6> Method "MG" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I3> Method "MU" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 17 *-1* end 38 *-6* guard on when ctlAttribute>0.250 -- guard on 49 *-3* guard off when ctlAttribute>0.250 -- guard off 7 *-1* do counter c rounds >K3> "WHEN" => "1" >K6> "WHEN" => "1" >K1> "COUNTER" => "3" 50 *-3* ctlAttribute=random(0,125)/1000 -- add some randomness 39 *-6* ctlAttribute=random(0,125)/1000 -- add some randomness 8 *-1* say "round #" c"/"rounds >>3> "0.047" >>6> "0.076" >>1> "round # 3/3 " round # 3/3 51 *-3* guard on when ctlAttribute>0.250 -- guard on 40 *-6* call sysSleep random(1,10)/1000 -- add some randomness 9 *-1* obj=.demoMT~new >I1> Method "INIT" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 22 *-1* expose ctlAttribute 23 *-1* ctlAttribute=random(0,125)/1000 -- add some randomness >>1> "0.071" >>1> "a demoMT" 11 *-1* obj~~start("mg")~~start("mu")~~start("bumpCtlAttribute") 12 *-1* msg=.message~new(obj,"bumpCtlAttribute") -- message to send later >I7> Method "MG" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I8> Method "MU" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I9> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >>1> "a Message" 35 *-7* expose ctlAttribute 46 *-8* expose ctlAttribute 26 *-9* expose ctlAttribute 13 *-1* waitTime=.timeSpan~fromLongTime("00:00:0" || random(15,25)/1000) -- wait a few msecs 36 *-7* guard off -- guard off 47 *-8* guard on -- guard on 27 *-9* TRACE n -- set trace to normal (in method "bumpCtlAttribute") 32 ctlAttribute=1 >>1> "a TimeSpan" 37 *-7* reply -- return, remainder on new thread 48 *-8* reply -- return, remainder on new thread 15 *-1* .alarm~new(waitTime, msg) -- send message after waitTime, will unblock >I9> Method "MG" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I7> Method "MU" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 16 *-1* .alarm~new(waitTime, msg) -- send message after waitTime, will unblock 38 *-9* guard on when ctlAttribute>0.250 -- guard on 49 *-7* guard off when ctlAttribute>0.250 -- guard off 17 *-1* end >K7> "WHEN" => "1" >K9> "WHEN" => "1" 7 *-1* do counter c rounds 50 *-7* ctlAttribute=random(0,125)/1000 -- add some randomness 39 *-9* ctlAttribute=random(0,125)/1000 -- add some randomness >>7> "0.084" >>9> "0.011" 51 *-7* guard on when ctlAttribute>0.250 -- guard on 40 *-9* call sysSleep random(1,10)/1000 -- add some randomness >>6> "0" >>4> "0" 41 *-6* guard off when ctlAttribute>0.250 -- guard off 41 *-4* guard off when ctlAttribute>0.250 -- guard off >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >>9> "0" >I10> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I11> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" 41 *-9* guard off when ctlAttribute>0.250 -- guard off 26 *-10* expose ctlAttribute 26 *-11* expose ctlAttribute >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K9> "WHEN" => "0" >K7> "WHEN" => "0" 27 *-10* TRACE n -- set trace to normal (in method "bumpCtlAttribute") >K4> "WHEN" => "0" 27 *-11* TRACE n -- set trace to normal (in method "bumpCtlAttribute") >K2> "WHEN" => "0" >K4> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K2> "WHEN" => "0" >K9> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K7> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K9> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K7> "WHEN" => "0" >K4> "WHEN" => "0" >K3> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K9> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K7> "WHEN" => "0" >K2> "WHEN" => "0" >K3> "WHEN" => "0" >K4> "WHEN" => "0" >K6> "WHEN" => "0" >K9> "WHEN" => "0" >K2> "WHEN" => "0" >K4> "WHEN" => "0" >K7> "WHEN" => "0" >K4> "WHEN" => "0" >K3> "WHEN" => "0" >K2> "WHEN" => "0" >K6> "WHEN" => "0" >K9> "WHEN" => "0" >K4> "WHEN" => "0" >K2> "WHEN" => "0" >K7> "WHEN" => "0" >K3> "WHEN" => "0" >K2> "WHEN" => "0" >K4> "WHEN" => "0" >K6> "WHEN" => "0" >K9> "WHEN" => "0" >K2> "WHEN" => "0" >K4> "WHEN" => "0" >K7> "WHEN" => "0" >I12> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I8> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I5> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >K2> "WHEN" => "0" >I13> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >K4> "WHEN" => "0" >K3> "WHEN" => "0" >K6> "WHEN" => "0" >K9> "WHEN" => "0" >K2> "WHEN" => "0" >K4> "WHEN" => "0" 26 *-12* expose ctlAttribute >K7> "WHEN" => "0" 32 ctlAttribute=0.243 26 *-8* expose ctlAttribute 26 *-5* expose ctlAttribute >K2> "WHEN" => "1" >K4> "WHEN" => "0" 26 *-13* expose ctlAttribute >K3> "WHEN" => "0" >K6> "WHEN" => "0" >K9> "WHEN" => "0" >K4> "WHEN" => "0" 52 *-2* call sysSleep random(1,10)/1000 -- add some randomness 32 ctlAttribute=1 27 *-12* TRACE n -- set trace to normal (in method "bumpCtlAttribute") 27 *-8* TRACE n -- set trace to normal (in method "bumpCtlAttribute") 27 *-5* TRACE n -- set trace to normal (in method "bumpCtlAttribute") >K7> "WHEN" => "0" >K9> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" 27 *-13* TRACE n -- set trace to normal (in method "bumpCtlAttribute") >K4> "WHEN" => "1" >K9> "WHEN" => "0" >K7> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" 42 *-4* ctlAttribute=random(0,125)/1000 -- add some randomness >K3> "WHEN" => "0" >K7> "WHEN" => "0" >K9> "WHEN" => "0" >K6> "WHEN" => "0" >>4> "0.042" >K3> "WHEN" => "0" >K7> "WHEN" => "0" >K9> "WHEN" => "0" >K6> "WHEN" => "0" 43 *-4* say .context~name": returning ..." >K3> "WHEN" => "0" >K7> "WHEN" => "0" >K9> "WHEN" => "0" >K6> "WHEN" => "0" >>4> "MG: returning ..." >K3> "WHEN" => "0" >K7> "WHEN" => "0" >K9> "WHEN" => "0" MG: returning ... >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K7> "WHEN" => "0" >K9> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K7> "WHEN" => "0" >K9> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K7> "WHEN" => "0" >K9> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K7> "WHEN" => "0" >K9> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K7> "WHEN" => "0" >K9> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K7> "WHEN" => "0" >K9> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K7> "WHEN" => "0" >K9> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K7> "WHEN" => "0" >K9> "WHEN" => "0" >K6> "WHEN" => "0" >K3> "WHEN" => "0" >K7> "WHEN" => "0" >K9> "WHEN" => "0" >K6> "WHEN" => "0" 32 ctlAttribute=1 >K3> "WHEN" => "0" 32 ctlAttribute=1 >K7> "WHEN" => "1" >K6> "WHEN" => "0" 32 ctlAttribute=0.198 >K9> "WHEN" => "1" >K6> "WHEN" => "1" 32 ctlAttribute=1 >K3> "WHEN" => "1" 52 *-7* call sysSleep random(1,10)/1000 -- add some randomness 42 *-9* ctlAttribute=random(0,125)/1000 -- add some randomness 42 *-6* ctlAttribute=random(0,125)/1000 -- add some randomness 52 *-3* call sysSleep random(1,10)/1000 -- add some randomness >>9> "0.031" >>6> "0.023" 43 *-9* say .context~name": returning ..." 43 *-6* say .context~name": returning ..." >>9> "MG: returning ..." MG: returning ... >>6> "MG: returning ..." MG: returning ... >>2> "0" 53 *-2* say .context~name": returning ..." >>2> "MU: returning ..." MU: returning ... >>3> "0" >>7> "0" 53 *-3* say .context~name": returning ..." 53 *-7* say .context~name": returning ..." >>3> "MU: returning ..." MU: returning ... >>7> "MU: returning ..." MU: returning ...