Dan Ingalls wrote:
Mark -
allInstances will find instances that are no longer in use. Whenever you really care about enumerating active instances, precede your code by a garbage collection. In other words, you should evaluate
Smalltalk garbageCollect. Process allInstances inspect
Hope this helps
- Dan
Thanks for the quick response. Actually I had garbage collected and I still see lots of zombies. Is it just me or is something broken? Following is a list or my processes. -Mark Schwenk WellThot Inc.
------------------------------------
Delay class>>DoIt [] in Delay class>>DoIt [] in BlockContext>>newProcess
WeakArray class>>DoIt [] in WeakArray class>>DoIt [] in BlockContext>>newProcess
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
InputSensor>>userInterruptWatcher [] in InputSensor>>installInterruptWatcher [] in BlockContext>>newProcess
ProcessorScheduler class>>idleProcess [] in ProcessorScheduler class>>startUp [] in BlockContext>>newProcess
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
SystemDictionary>>lowSpaceWatcher [] in SystemDictionary>>installLowSpaceWatcher [] in BlockContext>>newProcess
Debugger class>>openContext:label:contents: UndefinedObject(Object)>>doesNotUnderstand: SystemDictionary class(ClassDescription)>>fileOutMethod:asHtml: SystemDictionary class(ClassDescription)>>fileOutMethod: [] in RecentMessageSet(StringHolder)>>fileOutMessage Symbol(Object)>>ifNotNil: RecentMessageSet(StringHolder)>>fileOutMessage RecentMessageSet(StringHolder)>>perform:orSendTo: PluggableListController(ScrollController)>>pluggableYellowButtonActivity: PluggableListController>>yellowButtonActivity PluggableListController(MouseMenuController)>>controlActivity PluggableListController(ScrollController)>>controlActivity PluggableListController(ListController)>>controlActivity PluggableListController>>controlActivity PluggableListController(Controller)>>controlLoop PluggableListController(Controller)>>startUp StandardSystemController(Controller)>>controlToNextLevel StandardSystemController(Controller)>>controlActivity StandardSystemController(MouseMenuController)>>controlActivity StandardSystemController>>controlActivity StandardSystemController(Controller)>>controlLoop StandardSystemController(Controller)>>startUp [] in ControlManager>>activeController: [] in BlockContext>>newProcess
UndefinedObject>>DoIt ProcessorScheduler>>terminateActive
Delay>>wait
"Mark A. Schwenk" wrote:
Dan Ingalls wrote:
Mark -
allInstances will find instances that are no longer in use. Whenever you really care about enumerating active instances, precede your code by a garbage collection. In other words, you should evaluate
Smalltalk garbageCollect. Process allInstances inspect
Hope this helps
- Dan
Thanks for the quick response. Actually I had garbage collected and I still see lots of zombies. Is it just me or is something broken? Following is a list or my processes. -Mark Schwenk WellThot Inc.
I went back to a clean image and found six processes. I also found that my Utilities>process enhancement was susceptible to showing garbage processes since the utility did not include a direct call to Smalltalk garbageCollect just before iterating over the process instances.
Sorry for the false alarm! -Mark Schwenk
squeak-dev@lists.squeakfoundation.org