fixed context display (dont search for suspending context in running processes)
authorClaus Gittinger <cg@exept.de>
Sat, 23 Dec 1995 18:42:32 +0100
changeset 322 e3ccd5e431df
parent 321 6bbe39d6e44d
child 323 f443d7e5bab0
fixed context display (dont search for suspending context in running processes)
ProcMonitor.st
ProcessMonitor.st
--- a/ProcMonitor.st	Sat Dec 23 18:22:18 1995 +0100
+++ b/ProcMonitor.st	Sat Dec 23 18:42:32 1995 +0100
@@ -155,7 +155,7 @@
 updateStatus
     "update status display of processes"
 
-    |oldList list line dIndex con interrupted plist aProcess nm st c c0 n found sender|
+    |oldList list line dIndex con interrupted plist aProcess nm st c c0 n found sender running|
 
     shown ifTrue:[
         oldList := listView list.
@@ -195,24 +195,24 @@
                         (st == #run
                          and:[aProcess == interrupted]) ifTrue:[
                             c := ' *'.
+                            running := true.
                         ] ifFalse:[
                             c := '  '.
+                            running := false.
                         ].
                         line := line , c , (st printStringPaddedTo:9).
                         line := line , (aProcess priority printStringLeftPaddedTo:3).
                         line := line , (aProcess usedStackSize printStringLeftPaddedTo:11).
 
                         n := aProcess numberOfStackSegments.
-"/                        n == 0 ifTrue:[
-"/                            con := nil
-"/                        ] ifFalse:[
+                        true "showDetail" ifTrue:[
                             con := aProcess suspendedContext.
                             con isNil ifTrue:[
                                 aProcess == Processor activeProcess ifTrue:[
                                     con := thisContext
                                 ]
                             ].
-"/                        ].
+                        ].
                         showDetail ifTrue:[
                             aProcess id == 0 ifTrue:[
                                 line := line , ('unlimited' leftPaddedTo:13).
@@ -237,38 +237,42 @@
                         ].
 
                         con notNil ifTrue:[
-                            "/ search for a semaphore-wait in the top 10 contexts
-                            found := false.
                             c := con.
-                            1 to:10 do:[:n |
-                                found ifFalse:[
-                                    c notNil ifTrue:[
-                                        (c receiver isMemberOf:Semaphore) ifTrue:[
-                                            c selector == #wait ifTrue:[
-                                                found := true.
-                                            ]
-                                        ].
-                                        c := c sender.
-                                    ]
-                                ]
-                            ].
-                            found ifFalse:[
-                                c := con.
+                            running ifFalse:[
+                                "/ search for a semaphore-wait in the top 10 contexts
+
+                                found := false.
                                 1 to:10 do:[:n |
                                     found ifFalse:[
                                         c notNil ifTrue:[
-                                            (c receiver ~~ Processor) ifTrue:[
-                                                found := true.
-                                            ] ifFalse:[
-                                                c := c sender.
+                                            (c receiver isMemberOf:Semaphore) ifTrue:[
+                                                c selector == #wait ifTrue:[
+                                                    found := true.
+                                                ]
+                                            ].
+                                            c := c sender.
+                                        ]
+                                    ]
+                                ].
+                                found ifFalse:[
+                                    c := con.
+                                    1 to:10 do:[:n |
+                                        found ifFalse:[
+                                            c notNil ifTrue:[
+                                                (c receiver ~~ Processor) ifTrue:[
+                                                    found := true.
+                                                ] ifFalse:[
+                                                    c := c sender.
+                                                ]
                                             ]
                                         ]
                                     ]
-                                ]
+                                ].
+                                found ifFalse:[
+                                    c := con
+                                ].
                             ].
-                            found ifFalse:[
-                                c := con
-                            ].
+
                             [c notNil and:[c isBlockContext]] whileTrue:[
                                 c := c home
                             ].
@@ -300,12 +304,14 @@
             listView attributeAt:1 put:#disabled.
             listView attributeAt:2 put:#disabled.
         ].
-	listView flush
+        listView flush
     ].
     updateBlock notNil ifTrue:[
         Processor removeTimedBlock:updateBlock.
         Processor addTimedBlock:updateBlock afterSeconds:updateDelay
     ]
+
+    "Modified: 23.12.1995 / 17:40:21 / cg"
 !
 
 updateView
@@ -614,4 +620,4 @@
 !ProcessMonitor class methodsFor:'documentation'!
 
 version
-^ '$Header: /cvs/stx/stx/libtool/Attic/ProcMonitor.st,v 1.28 1995-12-22 21:53:46 cg Exp $'! !
+^ '$Header: /cvs/stx/stx/libtool/Attic/ProcMonitor.st,v 1.29 1995-12-23 17:42:32 cg Exp $'! !
--- a/ProcessMonitor.st	Sat Dec 23 18:22:18 1995 +0100
+++ b/ProcessMonitor.st	Sat Dec 23 18:42:32 1995 +0100
@@ -155,7 +155,7 @@
 updateStatus
     "update status display of processes"
 
-    |oldList list line dIndex con interrupted plist aProcess nm st c c0 n found sender|
+    |oldList list line dIndex con interrupted plist aProcess nm st c c0 n found sender running|
 
     shown ifTrue:[
         oldList := listView list.
@@ -195,24 +195,24 @@
                         (st == #run
                          and:[aProcess == interrupted]) ifTrue:[
                             c := ' *'.
+                            running := true.
                         ] ifFalse:[
                             c := '  '.
+                            running := false.
                         ].
                         line := line , c , (st printStringPaddedTo:9).
                         line := line , (aProcess priority printStringLeftPaddedTo:3).
                         line := line , (aProcess usedStackSize printStringLeftPaddedTo:11).
 
                         n := aProcess numberOfStackSegments.
-"/                        n == 0 ifTrue:[
-"/                            con := nil
-"/                        ] ifFalse:[
+                        true "showDetail" ifTrue:[
                             con := aProcess suspendedContext.
                             con isNil ifTrue:[
                                 aProcess == Processor activeProcess ifTrue:[
                                     con := thisContext
                                 ]
                             ].
-"/                        ].
+                        ].
                         showDetail ifTrue:[
                             aProcess id == 0 ifTrue:[
                                 line := line , ('unlimited' leftPaddedTo:13).
@@ -237,38 +237,42 @@
                         ].
 
                         con notNil ifTrue:[
-                            "/ search for a semaphore-wait in the top 10 contexts
-                            found := false.
                             c := con.
-                            1 to:10 do:[:n |
-                                found ifFalse:[
-                                    c notNil ifTrue:[
-                                        (c receiver isMemberOf:Semaphore) ifTrue:[
-                                            c selector == #wait ifTrue:[
-                                                found := true.
-                                            ]
-                                        ].
-                                        c := c sender.
-                                    ]
-                                ]
-                            ].
-                            found ifFalse:[
-                                c := con.
+                            running ifFalse:[
+                                "/ search for a semaphore-wait in the top 10 contexts
+
+                                found := false.
                                 1 to:10 do:[:n |
                                     found ifFalse:[
                                         c notNil ifTrue:[
-                                            (c receiver ~~ Processor) ifTrue:[
-                                                found := true.
-                                            ] ifFalse:[
-                                                c := c sender.
+                                            (c receiver isMemberOf:Semaphore) ifTrue:[
+                                                c selector == #wait ifTrue:[
+                                                    found := true.
+                                                ]
+                                            ].
+                                            c := c sender.
+                                        ]
+                                    ]
+                                ].
+                                found ifFalse:[
+                                    c := con.
+                                    1 to:10 do:[:n |
+                                        found ifFalse:[
+                                            c notNil ifTrue:[
+                                                (c receiver ~~ Processor) ifTrue:[
+                                                    found := true.
+                                                ] ifFalse:[
+                                                    c := c sender.
+                                                ]
                                             ]
                                         ]
                                     ]
-                                ]
+                                ].
+                                found ifFalse:[
+                                    c := con
+                                ].
                             ].
-                            found ifFalse:[
-                                c := con
-                            ].
+
                             [c notNil and:[c isBlockContext]] whileTrue:[
                                 c := c home
                             ].
@@ -300,12 +304,14 @@
             listView attributeAt:1 put:#disabled.
             listView attributeAt:2 put:#disabled.
         ].
-	listView flush
+        listView flush
     ].
     updateBlock notNil ifTrue:[
         Processor removeTimedBlock:updateBlock.
         Processor addTimedBlock:updateBlock afterSeconds:updateDelay
     ]
+
+    "Modified: 23.12.1995 / 17:40:21 / cg"
 !
 
 updateView
@@ -614,4 +620,4 @@
 !ProcessMonitor class methodsFor:'documentation'!
 
 version
-^ '$Header: /cvs/stx/stx/libtool/ProcessMonitor.st,v 1.28 1995-12-22 21:53:46 cg Exp $'! !
+^ '$Header: /cvs/stx/stx/libtool/ProcessMonitor.st,v 1.29 1995-12-23 17:42:32 cg Exp $'! !