Sven Van Caekenberghe wrote:
Hi,

User Herby Vojčík seems to have an issue with the --headless option on Windows 
10

https://pharo.fogbugz.com/f/cases/20271/ZnServer-managedServers-disappear-when-headless-mode-used

I cannot reproduce his problem.

Maybe there are Windows users out there who can have a look and help him ?

Thx,

Sven


I changed ZnSingleThreadedServer >> stop: to this:

stop: unregister
        "Stop me. I will stop listening on my port for incoming HTTP 
connections.
        If unregister is true, unregister me from the list of managed instances.
        Does nothing when I am not running"
        
        self isRunning ifFalse: [ ^ self ].
unregister ifTrue: [ Error signal: 'stop: true was sent to running server!' ].
        process terminate.
        process := nil.
        unregister ifTrue: [ self unregister ].
        self closeDelegate.
        self logStopped

As a result, different PharoDebug.log was generated (only in headless case, of course), which shows the server was indeed saved with both process and serverSocket being notNil.

Attached.

Herby
THERE_BE_DRAGONS_HERE
Error: stop: true was sent to running server!
25 July 2017 10:28:58.7226 pm

VM: Win32 - IX86 - 10.0 - CoInterpreter VMMaker.oscog-eem.2254 uuid: 
4f2c2cce-f4a2-469a-93f1-97ed941df0ad Jul 20 2017
StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid: 
2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 20 2017
VM: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: 
Thu Jul 20 12:42:21 2017 -0700 $ Plugins: 201707201942 
https://github.com/OpenSmalltalk/opensmalltalk-vm.git $

Image: Pharo6.0 [Latest update: #60510]

ZnManagingMultiThreadedServer(ZnSingleThreadedServer)>>stop:
        Receiver: a ZnManagingMultiThreadedServer(running 4998)
        Arguments and temporary variables: 
                unregister:     true
        Receiver's instance variables: 
                options:        a Dictionary(#delegate->a TowergameDelegate 
#port->4998 )
                sessionManager:         nil
                process:        a Process in [ self schedule.
"It is critical that the following has n...etc...
                serverSocket:   a Socket[waitingForConnection]
                logLevel:       3
                lock:   nil
                connections:    an OrderedCollection()


ZnManagingMultiThreadedServer>>stop:
        Receiver: a ZnManagingMultiThreadedServer(running 4998)
        Arguments and temporary variables: 
                unregister:     true
        Receiver's instance variables: 
                options:        a Dictionary(#delegate->a TowergameDelegate 
#port->4998 )
                sessionManager:         nil
                process:        a Process in [ self schedule.
"It is critical that the following has n...etc...
                serverSocket:   a Socket[waitingForConnection]
                logLevel:       3
                lock:   nil
                connections:    an OrderedCollection()


ZnManagingMultiThreadedServer(ZnServer)>>stop
        Receiver: a ZnManagingMultiThreadedServer(running 4998)
        Arguments and temporary variables: 

        Receiver's instance variables: 
                options:        a Dictionary(#delegate->a TowergameDelegate 
#port->4998 )
                sessionManager:         nil
                process:        a Process in [ self schedule.
"It is critical that the following has n...etc...
                serverSocket:   a Socket[waitingForConnection]
                logLevel:       3
                lock:   nil
                connections:    an OrderedCollection()


ZnManagingMultiThreadedServer(ZnSingleThreadedServer)>>start
        Receiver: a ZnManagingMultiThreadedServer(running 4998)
        Arguments and temporary variables: 

        Receiver's instance variables: 
                options:        a Dictionary(#delegate->a TowergameDelegate 
#port->4998 )
                sessionManager:         nil
                process:        a Process in [ self schedule.
"It is critical that the following has n...etc...
                serverSocket:   a Socket[waitingForConnection]
                logLevel:       3
                lock:   nil
                connections:    an OrderedCollection()


[ :each | each start ] in [ self managedServers do: [ :each | each start ] ] in 
[ :manager | 
manager default currentSession
        addDeferredStartupAction: [ self managedServers do: [ :each | each 
start ] ] ] in ZnServer class>>startUp:
        Receiver: ZnServer
        Arguments and temporary variables: 
                resuming:       true
                manager:        SessionManager
                each:   a ZnManagingMultiThreadedServer(running 4998)
        Receiver's instance variables: 
                superclass:     Object
                methodDict:     a 
MethodDictionary(#authenticator->ZnServer>>#authenticator #authen...etc...
                format:         65538
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     {ZnSingleThreadedServer}
                name:   #ZnServer
                classPool:      a Dictionary(#AlwaysRestart->true 
#ManagedServers->an IdentitySet(a ...etc...
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'Zinc-HTTP-Client-Server'
                traitComposition:       {}
                localSelectors:         nil


IdentitySet(Set)>>do:
        Receiver: an IdentitySet(a ZnManagingMultiThreadedServer(running 4998))
        Arguments and temporary variables: 
                aBlock:         [ :each | each start ]
                index:  3
                each:   a ZnManagingMultiThreadedServer(running 4998)
        Receiver's instance variables: 
                tally:  1
                array:  an Array(nil nil a 
ZnManagingMultiThreadedServer(running 4998) nil nil n...etc...


[ self managedServers do: [ :each | each start ] ] in [ :manager | 
manager default currentSession
        addDeferredStartupAction: [ self managedServers do: [ :each | each 
start ] ] ] in ZnServer class>>startUp:
        Receiver: ZnServer
        Arguments and temporary variables: 
                resuming:       true
                manager:        SessionManager
        Receiver's instance variables: 
                superclass:     Object
                methodDict:     a 
MethodDictionary(#authenticator->ZnServer>>#authenticator #authen...etc...
                format:         65538
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     {ZnSingleThreadedServer}
                name:   #ZnServer
                classPool:      a Dictionary(#AlwaysRestart->true 
#ManagedServers->an IdentitySet(a ...etc...
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'Zinc-HTTP-Client-Server'
                traitComposition:       {}
                localSelectors:         nil


BlockClosure>>cull:
        Receiver: [ self managedServers do: [ :each | each start ] ]
        Arguments and temporary variables: 
                anArg:  true
        Receiver's instance variables: 
                outerContext:   [ :manager | 
manager default currentSession
        addDeferredStartupA...etc...
                startpc:        83
                numArgs:        0


WorkingSession>>executeDeferredStartupActions:
        Receiver: a WorkingSession
        Arguments and temporary variables: 
                resuming:       true
                action:         [ self managedServers do: [ :each | each start 
] ]
        Receiver's instance variables: 
                manager:        a SessionManager
                deferredStartupActions:         an OrderedCollection()
                id:     nil
                creationTime:   2017-07-25T22:26:03.584862+02:00


WorkingSession>>runStartup:
        Receiver: a WorkingSession
        Arguments and temporary variables: 
                isImageStarting:        true
        Receiver's instance variables: 
                manager:        a SessionManager
                deferredStartupActions:         an OrderedCollection()
                id:     nil
                creationTime:   2017-07-25T22:26:03.584862+02:00


WorkingSession>>start:
        Receiver: a WorkingSession
        Arguments and temporary variables: 
                isImageStarting:        true
        Receiver's instance variables: 
                manager:        a SessionManager
                deferredStartupActions:         an OrderedCollection()
                id:     nil
                creationTime:   2017-07-25T22:26:03.584862+02:00


SessionManager>>snapshot:andQuit:
        Receiver: a SessionManager
        Arguments and temporary variables: 
                save:   true
                quit:   false
                isImageStarting:        true
                snapshotResult:         true
        Receiver's instance variables: 
                currentSession:         a WorkingSession
                categories:     an OrderedCollection(a SessionCategory(System) 
a SessionCategory(Ne...etc...
                guiCategory:    a SessionCategory(Graphical User Interface)
                toolsCategory:  a SessionCategory(Tools)
                networkCategory:        a SessionCategory(Network)
                systemCategory:         a SessionCategory(System)
                userCategory:   a SessionCategory(User)


[ ^ SessionManager default snapshot: save andQuit: quit ] in 
SmalltalkImage>>snapshot:andQuit:
        Receiver: Smalltalk
        Arguments and temporary variables: 
                save:   true
                quit:   false
        Receiver's instance variables: 
                globals:        a SystemDictionary(lots of globals)
                deferredStartupActions:         an OrderedCollection()
                specialObjectsArray:    an Array(nil false true 
#Processor->Processor Bitmap Small...etc...
                session:        an Object
                vm:     a VirtualMachine


CurrentExecutionEnvironment class>>activate:for:
        Receiver: CurrentExecutionEnvironment
        Arguments and temporary variables: 
                anExecutionEnvironment:         a DefaultExecutionEnvironment
                aBlock:         [ ^ SessionManager default snapshot: save 
andQuit: quit ]
                current:        nil
        Receiver's instance variables: 
                superclass:     ProcessLocalVariable
                methodDict:     a 
MethodDictionary(#default->CurrentExecutionEnvironment>>#default ...etc...
                format:         65537
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     nil
                name:   #CurrentExecutionEnvironment
                classPool:      a Dictionary()
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'Kernel-Processes'
                traitComposition:       {}
                localSelectors:         nil
                soleInstance:   a CurrentExecutionEnvironment


DefaultExecutionEnvironment(ExecutionEnvironment)>>beActiveDuring:
        Receiver: a DefaultExecutionEnvironment
        Arguments and temporary variables: 
                aBlock:         [ ^ SessionManager default snapshot: save 
andQuit: quit ]
        Receiver's instance variables: 
a DefaultExecutionEnvironment

DefaultExecutionEnvironment class>>beActiveDuring:
        Receiver: DefaultExecutionEnvironment
        Arguments and temporary variables: 
                aBlock:         [ ^ SessionManager default snapshot: save 
andQuit: quit ]
        Receiver's instance variables: 
                superclass:     ExecutionEnvironment
                methodDict:     a 
MethodDictionary(#prepareForNewProcess:->DefaultExecutionEnvironm...etc...
                format:         0
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     nil
                name:   #DefaultExecutionEnvironment
                classPool:      a Dictionary()
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'Kernel-Processes'
                traitComposition:       {}
                localSelectors:         nil
                instance:       a DefaultExecutionEnvironment


SmalltalkImage>>snapshot:andQuit:
        Receiver: Smalltalk
        Arguments and temporary variables: 
                save:   true
                quit:   false
        Receiver's instance variables: 
                globals:        a SystemDictionary(lots of globals)
                deferredStartupActions:         an OrderedCollection()
                specialObjectsArray:    an Array(nil false true 
#Processor->Processor Bitmap Small...etc...
                session:        an Object
                vm:     a VirtualMachine


SmalltalkImage>>saveImageInFileNamed:
        Receiver: Smalltalk
        Arguments and temporary variables: 
                aFile:  'D:\Herby\Work\cinegames\towergame-backend\work.image'
                imageFile:      File @ 
D:\Herby\Work\cinegames\towergame-backend\work.image
        Receiver's instance variables: 
                globals:        a SystemDictionary(lots of globals)
                deferredStartupActions:         an OrderedCollection()
                specialObjectsArray:    an Array(nil false true 
#Processor->Processor Bitmap Small...etc...
                session:        an Object
                vm:     a VirtualMachine


SmalltalkImage>>saveAs:
        Receiver: Smalltalk
        Arguments and temporary variables: 
                newNameWithoutSuffix:   'work'
        Receiver's instance variables: 
                globals:        a SystemDictionary(lots of globals)
                deferredStartupActions:         an OrderedCollection()
                specialObjectsArray:    an Array(nil false true 
#Processor->Processor Bitmap Small...etc...
                session:        an Object
                vm:     a VirtualMachine


SaveCommandLineHandler>>saveImage
        Receiver: a SaveCommandLineHandler
        Arguments and temporary variables: 
                imageName:      'work'
                oldImageFile:   File @ 
D:\Herby\Work\cinegames\towergame-backend\base.image
                oldChangesFile:         File @ 
D:\Herby\Work\cinegames\towergame-backend\base.changes
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


SaveCommandLineHandler>>activate
        Receiver: a SaveCommandLineHandler
        Arguments and temporary variables: 

        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


SaveCommandLineHandler class(CommandLineHandler class)>>activateWith:
        Receiver: SaveCommandLineHandler
        Arguments and temporary variables: 
                aCommandLine:   a CommandLineArguments
        Receiver's instance variables: 
                superclass:     CommandLineHandler
                methodDict:     a 
MethodDictionary(#activate->SaveCommandLineHandler>>#activate #sa...etc...
                format:         65540
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     nil
                name:   #SaveCommandLineHandler
                classPool:      a Dictionary()
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'System-BasicCommandLineHandler'
                traitComposition:       {}
                localSelectors:         nil


[ aCommandLinehandler activateWith: commandLine ] in 
PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand:
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 
                aCommandLinehandler:    SaveCommandLineHandler
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


BlockClosure>>on:do:
        Receiver: [ aCommandLinehandler activateWith: commandLine ]
        Arguments and temporary variables: 
                exception:      Exit
                handlerAction:  [ :exit | ^ self handleExit: exit for: 
aCommandLinehandler ]
        Receiver's instance variables: 
                outerContext:   
PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubComm...etc...
                startpc:        34
                numArgs:        0


PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand:
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 
                aCommandLinehandler:    SaveCommandLineHandler
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


PharoCommandLineHandler(BasicCommandLineHandler)>>handleSubcommand
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 
                handlers:       an OrderedCollection(SaveCommandLineHandler)
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


PharoCommandLineHandler(BasicCommandLineHandler)>>handleArgument:
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 
                aString:        'save'
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


[ self
        handleArgument:
                (self arguments
                        ifEmpty: [ '' ]
                        ifNotEmpty: [ :arguments | arguments first ]) ] in 
PharoCommandLineHandler(BasicCommandLineHandler)>>activate
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 

        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


BlockClosure>>on:do:
        Receiver: [ self
        handleArgument:
                (self arguments
                        ifEmpty: [ '' ]
                        ifNotEmpty: [ :arguments |...etc...
        Arguments and temporary variables: 
                exception:      Exit
                handlerAction:  [ :exit | ^ self handleExit: exit ]
        Receiver's instance variables: 
                outerContext:   
PharoCommandLineHandler(BasicCommandLineHandler)>>activate
                startpc:        49
                numArgs:        0


PharoCommandLineHandler(BasicCommandLineHandler)>>activate
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 

        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


PharoCommandLineHandler>>activate
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 

        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


PharoCommandLineHandler class(CommandLineHandler class)>>activateWith:
        Receiver: PharoCommandLineHandler
        Arguments and temporary variables: 
                aCommandLine:   a CommandLineArguments
        Receiver's instance variables: 
                superclass:     BasicCommandLineHandler
                methodDict:     a 
MethodDictionary(#activate->PharoCommandLineHandler>>#activate #c...etc...
                format:         65540
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     nil
                name:   #PharoCommandLineHandler
                classPool:      a Dictionary()
                sharedPools:    nil
                environment:    a SystemDictionary(lots of globals)
                category:       #'System-CommandLineHandler'
                traitComposition:       {}
                localSelectors:         nil


[ super activateWith: aCommandLine ] in PharoCommandLineHandler 
class>>activateWith:
        Receiver: PharoCommandLineHandler
        Arguments and temporary variables: 
                aCommandLine:   a CommandLineArguments
        Receiver's instance variables: 
                superclass:     BasicCommandLineHandler
                methodDict:     a 
MethodDictionary(#activate->PharoCommandLineHandler>>#activate #c...etc...
                format:         65540
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     nil
                name:   #PharoCommandLineHandler
                classPool:      a Dictionary()
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'System-CommandLineHandler'
                traitComposition:       {}
                localSelectors:         nil


NonInteractiveUIManager(UIManager)>>defer:
        Receiver: a NonInteractiveUIManager
        Arguments and temporary variables: 
                aBlock:         [ super activateWith: aCommandLine ]
        Receiver's instance variables: 
                doNotQuitOnRestart:     false
                uiManager:      nil


PharoCommandLineHandler class>>activateWith:
        Receiver: PharoCommandLineHandler
        Arguments and temporary variables: 
                aCommandLine:   a CommandLineArguments
        Receiver's instance variables: 
                superclass:     BasicCommandLineHandler
                methodDict:     a 
MethodDictionary(#activate->PharoCommandLineHandler>>#activate #c...etc...
                format:         65540
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     nil
                name:   #PharoCommandLineHandler
                classPool:      a Dictionary()
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'System-CommandLineHandler'
                traitComposition:       {}
                localSelectors:         nil


[ aCommandLinehandler activateWith: commandLine ] in 
BasicCommandLineHandler>>activateSubCommand:
        Receiver: a BasicCommandLineHandler
        Arguments and temporary variables: 
                aCommandLinehandler:    PharoCommandLineHandler
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


BlockClosure>>on:do:
        Receiver: [ aCommandLinehandler activateWith: commandLine ]
        Arguments and temporary variables: 
                exception:      Exit
                handlerAction:  [ :exit | ^ self handleExit: exit for: 
aCommandLinehandler ]
        Receiver's instance variables: 
                outerContext:   BasicCommandLineHandler>>activateSubCommand:
                startpc:        34
                numArgs:        0


BasicCommandLineHandler>>activateSubCommand:
        Receiver: a BasicCommandLineHandler
        Arguments and temporary variables: 
                aCommandLinehandler:    PharoCommandLineHandler
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


BasicCommandLineHandler>>handleSubcommand
        Receiver: a BasicCommandLineHandler
        Arguments and temporary variables: 
                handlers:       an OrderedCollection(PharoCommandLineHandler 
SaveCommandLineHandler)
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver



--- The full stack ---
ZnManagingMultiThreadedServer(ZnSingleThreadedServer)>>stop:
ZnManagingMultiThreadedServer>>stop:
ZnManagingMultiThreadedServer(ZnServer)>>stop
ZnManagingMultiThreadedServer(ZnSingleThreadedServer)>>start
[ :each | each start ] in THERE_BE_DRAGONS_HERE
Error: stop: true was sent to running server!
25 July 2017 10:29:50.172455 pm

VM: Win32 - IX86 - 10.0 - CoInterpreter VMMaker.oscog-eem.2254 uuid: 
4f2c2cce-f4a2-469a-93f1-97ed941df0ad Jul 20 2017
StackToRegisterMappingCogit VMMaker.oscog-eem.2252 uuid: 
2f3e9b0e-ecd3-4adf-b092-cce2e2587a5c Jul 20 2017
VM: 201707201942 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: 
Thu Jul 20 12:42:21 2017 -0700 $ Plugins: 201707201942 
https://github.com/OpenSmalltalk/opensmalltalk-vm.git $

Image: Pharo6.0 [Latest update: #60510]

ZnManagingMultiThreadedServer(ZnSingleThreadedServer)>>stop:
        Receiver: a ZnManagingMultiThreadedServer(running 4998)
        Arguments and temporary variables: 
                unregister:     true
        Receiver's instance variables: 
                options:        a Dictionary(#delegate->a TowergameDelegate 
#port->4998 )
                sessionManager:         nil
                process:        a Process in [ self schedule.
"It is critical that the following has n...etc...
                serverSocket:   a Socket[waitingForConnection]
                logLevel:       3
                lock:   nil
                connections:    an OrderedCollection()


ZnManagingMultiThreadedServer>>stop:
        Receiver: a ZnManagingMultiThreadedServer(running 4998)
        Arguments and temporary variables: 
                unregister:     true
        Receiver's instance variables: 
                options:        a Dictionary(#delegate->a TowergameDelegate 
#port->4998 )
                sessionManager:         nil
                process:        a Process in [ self schedule.
"It is critical that the following has n...etc...
                serverSocket:   a Socket[waitingForConnection]
                logLevel:       3
                lock:   nil
                connections:    an OrderedCollection()


ZnManagingMultiThreadedServer(ZnServer)>>stop
        Receiver: a ZnManagingMultiThreadedServer(running 4998)
        Arguments and temporary variables: 

        Receiver's instance variables: 
                options:        a Dictionary(#delegate->a TowergameDelegate 
#port->4998 )
                sessionManager:         nil
                process:        a Process in [ self schedule.
"It is critical that the following has n...etc...
                serverSocket:   a Socket[waitingForConnection]
                logLevel:       3
                lock:   nil
                connections:    an OrderedCollection()


ZnManagingMultiThreadedServer(ZnSingleThreadedServer)>>start
        Receiver: a ZnManagingMultiThreadedServer(running 4998)
        Arguments and temporary variables: 

        Receiver's instance variables: 
                options:        a Dictionary(#delegate->a TowergameDelegate 
#port->4998 )
                sessionManager:         nil
                process:        a Process in [ self schedule.
"It is critical that the following has n...etc...
                serverSocket:   a Socket[waitingForConnection]
                logLevel:       3
                lock:   nil
                connections:    an OrderedCollection()


[ :each | each start ] in [ self managedServers do: [ :each | each start ] ] in 
[ :manager | 
manager default currentSession
        addDeferredStartupAction: [ self managedServers do: [ :each | each 
start ] ] ] in ZnServer class>>startUp:
        Receiver: ZnServer
        Arguments and temporary variables: 
                resuming:       true
                manager:        SessionManager
                each:   a ZnManagingMultiThreadedServer(running 4998)
        Receiver's instance variables: 
                superclass:     Object
                methodDict:     a 
MethodDictionary(#authenticator->ZnServer>>#authenticator #authen...etc...
                format:         65538
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     {ZnSingleThreadedServer}
                name:   #ZnServer
                classPool:      a Dictionary(#AlwaysRestart->true 
#ManagedServers->an IdentitySet(a ...etc...
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'Zinc-HTTP-Client-Server'
                traitComposition:       {}
                localSelectors:         nil


IdentitySet(Set)>>do:
        Receiver: an IdentitySet(a ZnManagingMultiThreadedServer(running 4998))
        Arguments and temporary variables: 
                aBlock:         [ :each | each start ]
                index:  3
                each:   a ZnManagingMultiThreadedServer(running 4998)
        Receiver's instance variables: 
                tally:  1
                array:  an Array(nil nil a 
ZnManagingMultiThreadedServer(running 4998) nil nil n...etc...


[ self managedServers do: [ :each | each start ] ] in [ :manager | 
manager default currentSession
        addDeferredStartupAction: [ self managedServers do: [ :each | each 
start ] ] ] in ZnServer class>>startUp:
        Receiver: ZnServer
        Arguments and temporary variables: 
                resuming:       true
                manager:        SessionManager
        Receiver's instance variables: 
                superclass:     Object
                methodDict:     a 
MethodDictionary(#authenticator->ZnServer>>#authenticator #authen...etc...
                format:         65538
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     {ZnSingleThreadedServer}
                name:   #ZnServer
                classPool:      a Dictionary(#AlwaysRestart->true 
#ManagedServers->an IdentitySet(a ...etc...
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'Zinc-HTTP-Client-Server'
                traitComposition:       {}
                localSelectors:         nil


BlockClosure>>cull:
        Receiver: [ self managedServers do: [ :each | each start ] ]
        Arguments and temporary variables: 
                anArg:  true
        Receiver's instance variables: 
                outerContext:   [ :manager | 
manager default currentSession
        addDeferredStartupA...etc...
                startpc:        83
                numArgs:        0


WorkingSession>>executeDeferredStartupActions:
        Receiver: a WorkingSession
        Arguments and temporary variables: 
                resuming:       true
                action:         [ self managedServers do: [ :each | each start 
] ]
        Receiver's instance variables: 
                manager:        a SessionManager
                deferredStartupActions:         an OrderedCollection()
                id:     nil
                creationTime:   2017-07-25T22:26:03.584862+02:00


WorkingSession>>runStartup:
        Receiver: a WorkingSession
        Arguments and temporary variables: 
                isImageStarting:        true
        Receiver's instance variables: 
                manager:        a SessionManager
                deferredStartupActions:         an OrderedCollection()
                id:     nil
                creationTime:   2017-07-25T22:26:03.584862+02:00


WorkingSession>>start:
        Receiver: a WorkingSession
        Arguments and temporary variables: 
                isImageStarting:        true
        Receiver's instance variables: 
                manager:        a SessionManager
                deferredStartupActions:         an OrderedCollection()
                id:     nil
                creationTime:   2017-07-25T22:26:03.584862+02:00


SessionManager>>snapshot:andQuit:
        Receiver: a SessionManager
        Arguments and temporary variables: 
                save:   true
                quit:   false
                isImageStarting:        true
                snapshotResult:         true
        Receiver's instance variables: 
                currentSession:         a WorkingSession
                categories:     an OrderedCollection(a SessionCategory(System) 
a SessionCategory(Ne...etc...
                guiCategory:    a SessionCategory(Graphical User Interface)
                toolsCategory:  a SessionCategory(Tools)
                networkCategory:        a SessionCategory(Network)
                systemCategory:         a SessionCategory(System)
                userCategory:   a SessionCategory(User)


[ ^ SessionManager default snapshot: save andQuit: quit ] in 
SmalltalkImage>>snapshot:andQuit:
        Receiver: Smalltalk
        Arguments and temporary variables: 
                save:   true
                quit:   false
        Receiver's instance variables: 
                globals:        a SystemDictionary(lots of globals)
                deferredStartupActions:         an OrderedCollection()
                specialObjectsArray:    an Array(nil false true 
#Processor->Processor Bitmap Small...etc...
                session:        an Object
                vm:     a VirtualMachine


CurrentExecutionEnvironment class>>activate:for:
        Receiver: CurrentExecutionEnvironment
        Arguments and temporary variables: 
                anExecutionEnvironment:         a DefaultExecutionEnvironment
                aBlock:         [ ^ SessionManager default snapshot: save 
andQuit: quit ]
                current:        nil
        Receiver's instance variables: 
                superclass:     ProcessLocalVariable
                methodDict:     a 
MethodDictionary(#default->CurrentExecutionEnvironment>>#default ...etc...
                format:         65537
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     nil
                name:   #CurrentExecutionEnvironment
                classPool:      a Dictionary()
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'Kernel-Processes'
                traitComposition:       {}
                localSelectors:         nil
                soleInstance:   a CurrentExecutionEnvironment


DefaultExecutionEnvironment(ExecutionEnvironment)>>beActiveDuring:
        Receiver: a DefaultExecutionEnvironment
        Arguments and temporary variables: 
                aBlock:         [ ^ SessionManager default snapshot: save 
andQuit: quit ]
        Receiver's instance variables: 
a DefaultExecutionEnvironment

DefaultExecutionEnvironment class>>beActiveDuring:
        Receiver: DefaultExecutionEnvironment
        Arguments and temporary variables: 
                aBlock:         [ ^ SessionManager default snapshot: save 
andQuit: quit ]
        Receiver's instance variables: 
                superclass:     ExecutionEnvironment
                methodDict:     a 
MethodDictionary(#prepareForNewProcess:->DefaultExecutionEnvironm...etc...
                format:         0
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     nil
                name:   #DefaultExecutionEnvironment
                classPool:      a Dictionary()
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'Kernel-Processes'
                traitComposition:       {}
                localSelectors:         nil
                instance:       a DefaultExecutionEnvironment


SmalltalkImage>>snapshot:andQuit:
        Receiver: Smalltalk
        Arguments and temporary variables: 
                save:   true
                quit:   false
        Receiver's instance variables: 
                globals:        a SystemDictionary(lots of globals)
                deferredStartupActions:         an OrderedCollection()
                specialObjectsArray:    an Array(nil false true 
#Processor->Processor Bitmap Small...etc...
                session:        an Object
                vm:     a VirtualMachine


SmalltalkImage>>saveImageInFileNamed:
        Receiver: Smalltalk
        Arguments and temporary variables: 
                aFile:  'D:\Herby\Work\cinegames\towergame-backend\work.image'
                imageFile:      File @ 
D:\Herby\Work\cinegames\towergame-backend\work.image
        Receiver's instance variables: 
                globals:        a SystemDictionary(lots of globals)
                deferredStartupActions:         an OrderedCollection()
                specialObjectsArray:    an Array(nil false true 
#Processor->Processor Bitmap Small...etc...
                session:        an Object
                vm:     a VirtualMachine


SmalltalkImage>>saveAs:
        Receiver: Smalltalk
        Arguments and temporary variables: 
                newNameWithoutSuffix:   'work'
        Receiver's instance variables: 
                globals:        a SystemDictionary(lots of globals)
                deferredStartupActions:         an OrderedCollection()
                specialObjectsArray:    an Array(nil false true 
#Processor->Processor Bitmap Small...etc...
                session:        an Object
                vm:     a VirtualMachine


SaveCommandLineHandler>>saveImage
        Receiver: a SaveCommandLineHandler
        Arguments and temporary variables: 
                imageName:      'work'
                oldImageFile:   File @ 
D:\Herby\Work\cinegames\towergame-backend\base.image
                oldChangesFile:         File @ 
D:\Herby\Work\cinegames\towergame-backend\base.changes
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


SaveCommandLineHandler>>activate
        Receiver: a SaveCommandLineHandler
        Arguments and temporary variables: 

        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


SaveCommandLineHandler class(CommandLineHandler class)>>activateWith:
        Receiver: SaveCommandLineHandler
        Arguments and temporary variables: 
                aCommandLine:   a CommandLineArguments
        Receiver's instance variables: 
                superclass:     CommandLineHandler
                methodDict:     a 
MethodDictionary(#activate->SaveCommandLineHandler>>#activate #sa...etc...
                format:         65540
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     nil
                name:   #SaveCommandLineHandler
                classPool:      a Dictionary()
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'System-BasicCommandLineHandler'
                traitComposition:       {}
                localSelectors:         nil


[ aCommandLinehandler activateWith: commandLine ] in 
PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand:
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 
                aCommandLinehandler:    SaveCommandLineHandler
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


BlockClosure>>on:do:
        Receiver: [ aCommandLinehandler activateWith: commandLine ]
        Arguments and temporary variables: 
                exception:      Exit
                handlerAction:  [ :exit | ^ self handleExit: exit for: 
aCommandLinehandler ]
        Receiver's instance variables: 
                outerContext:   
PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubComm...etc...
                startpc:        34
                numArgs:        0


PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand:
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 
                aCommandLinehandler:    SaveCommandLineHandler
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


PharoCommandLineHandler(BasicCommandLineHandler)>>handleSubcommand
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 
                handlers:       an OrderedCollection(SaveCommandLineHandler)
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


PharoCommandLineHandler(BasicCommandLineHandler)>>handleArgument:
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 
                aString:        'save'
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


[ self
        handleArgument:
                (self arguments
                        ifEmpty: [ '' ]
                        ifNotEmpty: [ :arguments | arguments first ]) ] in 
PharoCommandLineHandler(BasicCommandLineHandler)>>activate
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 

        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


BlockClosure>>on:do:
        Receiver: [ self
        handleArgument:
                (self arguments
                        ifEmpty: [ '' ]
                        ifNotEmpty: [ :arguments |...etc...
        Arguments and temporary variables: 
                exception:      Exit
                handlerAction:  [ :exit | ^ self handleExit: exit ]
        Receiver's instance variables: 
                outerContext:   
PharoCommandLineHandler(BasicCommandLineHandler)>>activate
                startpc:        49
                numArgs:        0


PharoCommandLineHandler(BasicCommandLineHandler)>>activate
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 

        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


PharoCommandLineHandler>>activate
        Receiver: a PharoCommandLineHandler
        Arguments and temporary variables: 

        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


PharoCommandLineHandler class(CommandLineHandler class)>>activateWith:
        Receiver: PharoCommandLineHandler
        Arguments and temporary variables: 
                aCommandLine:   a CommandLineArguments
        Receiver's instance variables: 
                superclass:     BasicCommandLineHandler
                methodDict:     a 
MethodDictionary(#activate->PharoCommandLineHandler>>#activate #c...etc...
                format:         65540
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     nil
                name:   #PharoCommandLineHandler
                classPool:      a Dictionary()
                sharedPools:    nil
                environment:    a SystemDictionary(lots of globals)
                category:       #'System-CommandLineHandler'
                traitComposition:       {}
                localSelectors:         nil


[ super activateWith: aCommandLine ] in PharoCommandLineHandler 
class>>activateWith:
        Receiver: PharoCommandLineHandler
        Arguments and temporary variables: 
                aCommandLine:   a CommandLineArguments
        Receiver's instance variables: 
                superclass:     BasicCommandLineHandler
                methodDict:     a 
MethodDictionary(#activate->PharoCommandLineHandler>>#activate #c...etc...
                format:         65540
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     nil
                name:   #PharoCommandLineHandler
                classPool:      a Dictionary()
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'System-CommandLineHandler'
                traitComposition:       {}
                localSelectors:         nil


NonInteractiveUIManager(UIManager)>>defer:
        Receiver: a NonInteractiveUIManager
        Arguments and temporary variables: 
                aBlock:         [ super activateWith: aCommandLine ]
        Receiver's instance variables: 
                doNotQuitOnRestart:     false
                uiManager:      nil


PharoCommandLineHandler class>>activateWith:
        Receiver: PharoCommandLineHandler
        Arguments and temporary variables: 
                aCommandLine:   a CommandLineArguments
        Receiver's instance variables: 
                superclass:     BasicCommandLineHandler
                methodDict:     a 
MethodDictionary(#activate->PharoCommandLineHandler>>#activate #c...etc...
                format:         65540
                layout:         a FixedLayout
                instanceVariables:      nil
                organization:   a ClassOrganization
                subclasses:     nil
                name:   #PharoCommandLineHandler
                classPool:      a Dictionary()
                sharedPools:    an OrderedCollection()
                environment:    a SystemDictionary(lots of globals)
                category:       #'System-CommandLineHandler'
                traitComposition:       {}
                localSelectors:         nil


[ aCommandLinehandler activateWith: commandLine ] in 
BasicCommandLineHandler>>activateSubCommand:
        Receiver: a BasicCommandLineHandler
        Arguments and temporary variables: 
                aCommandLinehandler:    PharoCommandLineHandler
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


BlockClosure>>on:do:
        Receiver: [ aCommandLinehandler activateWith: commandLine ]
        Arguments and temporary variables: 
                exception:      Exit
                handlerAction:  [ :exit | ^ self handleExit: exit for: 
aCommandLinehandler ]
        Receiver's instance variables: 
                outerContext:   BasicCommandLineHandler>>activateSubCommand:
                startpc:        34
                numArgs:        0


BasicCommandLineHandler>>activateSubCommand:
        Receiver: a BasicCommandLineHandler
        Arguments and temporary variables: 
                aCommandLinehandler:    PharoCommandLineHandler
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver


BasicCommandLineHandler>>handleSubcommand
        Receiver: a BasicCommandLineHandler
        Arguments and temporary variables: 
                handlers:       an OrderedCollection(PharoCommandLineHandler 
SaveCommandLineHandler)
        Receiver's instance variables: 
                commandLine:    a CommandLineArguments
                session:        a WorkingSession
                stdout:         a VTermOutputDriver
                stderr:         a VTermOutputDriver



--- The full stack ---
ZnManagingMultiThreadedServer(ZnSingleThreadedServer)>>stop:
ZnManagingMultiThreadedServer>>stop:
ZnManagingMultiThreadedServer(ZnServer)>>stop
ZnManagingMultiThreadedServer(ZnSingleThreadedServer)>>start
[ :each | each start ] in [ self managedServers do: [ :each | each start ] ] in 
[ :manager | 
manager default currentSession
        addDeferredStartupAction: [ self managedServers do: [ :each | each 
start ] ] ] in ZnServer class>>startUp:
IdentitySet(Set)>>do:
[ self managedServers do: [ :each | each start ] ] in [ :manager | 
manager default currentSession
        addDeferredStartupAction: [ self managedServers do: [ :each | each 
start ] ] ] in ZnServer class>>startUp:
BlockClosure>>cull:
WorkingSession>>executeDeferredStartupActions:
WorkingSession>>runStartup:
WorkingSession>>start:
SessionManager>>snapshot:andQuit:
[ ^ SessionManager default snapshot: save andQuit: quit ] in 
SmalltalkImage>>snapshot:andQuit:
CurrentExecutionEnvironment class>>activate:for:
DefaultExecutionEnvironment(ExecutionEnvironment)>>beActiveDuring:
DefaultExecutionEnvironment class>>beActiveDuring:
SmalltalkImage>>snapshot:andQuit:
SmalltalkImage>>saveImageInFileNamed:
SmalltalkImage>>saveAs:
SaveCommandLineHandler>>saveImage
SaveCommandLineHandler>>activate
SaveCommandLineHandler class(CommandLineHandler class)>>activateWith:
[ aCommandLinehandler activateWith: commandLine ] in 
PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand:
BlockClosure>>on:do:
PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand:
PharoCommandLineHandler(BasicCommandLineHandler)>>handleSubcommand
PharoCommandLineHandler(BasicCommandLineHandler)>>handleArgument:
[ self
        handleArgument:
                (self arguments
                        ifEmpty: [ '' ]
                        ifNotEmpty: [ :arguments | arguments first ]) ] in 
PharoCommandLineHandler(BasicCommandLineHandler)>>activate
BlockClosure>>on:do:
PharoCommandLineHandler(BasicCommandLineHandler)>>activate
PharoCommandLineHandler>>activate
PharoCommandLineHandler class(CommandLineHandler class)>>activateWith:
[ super activateWith: aCommandLine ] in PharoCommandLineHandler 
class>>activateWith:
NonInteractiveUIManager(UIManager)>>defer:
PharoCommandLineHandler class>>activateWith:
[ aCommandLinehandler activateWith: commandLine ] in 
BasicCommandLineHandler>>activateSubCommand:
BlockClosure>>on:do:
BasicCommandLineHandler>>activateSubCommand:
BasicCommandLineHandler>>handleSubcommand
 - - - - - - - - - - - - - - -  
                        - - - - - - - - - - - - - - - - - -
BasicCommandLineHandler>>handleArgument:
[ self
        handleArgument:
                (self arguments
                        ifEmpty: [ '' ]
                        ifNotEmpty: [ :arguments | arguments first ]) ] in 
BasicCommandLineHandler>>activate
BlockClosure>>on:do:
BasicCommandLineHandler>>activate
[ self new activate ] in BasicCommandLineHandler class>>startUp:
BlockClosure>>cull:
WorkingSession>>executeDeferredStartupActions:
WorkingSession>>runStartup:
WorkingSession>>start:
SessionManager>>snapshot:andQuit:
[ ^ SessionManager default snapshot: save andQuit: quit ] in 
SmalltalkImage>>snapshot:andQuit:
CurrentExecutionEnvironment class>>activate:for:
DefaultExecutionEnvironment(ExecutionEnvironment)>>beActiveDuring:
DefaultExecutionEnvironment class>>beActiveDuring:
SmalltalkImage>>snapshot:andQuit:
[ Smalltalk snapshot: true andQuit: true ] in WorldState class>>saveAndQuit
BlockClosure>>ensure:
CursorWithMask(Cursor)>>showWhile:
WorldState class>>saveAndQuit
[ | selArgCount |
"show cursor in case item opens a new MVC window"
(selArgCount := selector numArgs) = 0
        ifTrue: [ target perform: selector ]
        ifFalse: [ selArgCount = arguments size
                        ifTrue: [ target perform: selector withArguments: 
arguments ]
                        ifFalse: [ target perform: selector withArguments: 
(arguments copyWith: evt) ].
                self showShortcut ].
self changed ] in ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
BlockClosure>>ensure:
CursorWithMask(Cursor)>>showWhile:
ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
ToggleMenuItemMorph(MenuItemMorph)>>mouseUp:
ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp:
MouseButtonEvent>>sentTo:
ToggleMenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>handleMouseUp:
MouseButtonEvent>>sentTo:
[ ^ anEvent sentTo: self ] in MorphicEventDispatcher>>dispatchEvent:with:
BlockClosure>>ensure:
MorphicEventDispatcher>>dispatchEvent:with:
ToggleMenuItemMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>handleMouseUp:
MouseButtonEvent>>sentTo:
[ ^ anEvent sentTo: self ] in MorphicEventDispatcher>>dispatchEvent:with:
BlockClosure>>ensure:
MorphicEventDispatcher>>dispatchEvent:with:
MenuMorph(Morph)>>processEvent:using:
MenuMorph(Morph)>>processEvent:
MenuMorph>>handleFocusEvent:
[ ActiveHand := self.
ActiveEvent := anEvent.
result := focusHolder
        handleFocusEvent: (anEvent transformedBy: (focusHolder transformedFrom: 
self)) ] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>on:do:
WorldMorph(PasteUpMorph)>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEventsFromQueue:
HandMorph>>processEvents
[ :h | 
self activeHand: h.
h processEvents.
self activeHand: nil ] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldMorph>>doOneCycle
WorldMorph class>>doOneCycle
[ [ WorldMorph doOneCycle.
Processor yield.
false ] whileFalse: [  ] ] in MorphicUIManager>>spawnNewProcess
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess
-------------------------------------------------------------------------------

Reply via email to