[Vm-dev] behavior issues with windows vm?
John M McIntosh
johnmci at smalltalkconsulting.com
Fri Jun 19 02:43:55 UTC 2009
Given a Pharo0.1Core-10204.image
with the following changes to collect startup times in
SystemDictionary>>send: toClassesNamedIn: with:
I hacked usage of FilePackage log: because it was simple and wanted to
record times & progress to a file in the VM directory.
But the windows VM coughs up
the dialog saying the file does not exist, create a new file or choose
This does not happen on mac or linux?
The file is not created via the hopeful code in the modified
It does not write a debug log, does not allow mouse clicks, keyboard
entry etc, in general it's obvious to any input activity at this point.
Now I wondering here if sandboxing for etoys is leaping in and being
Is there some magical call that is done later in the startup:
processing that ok's the ability to create files?
And that I *know* later after system startup I *can* invoke
FilePackage log: 'foo' and we are happy if I rip out the file access
Oh and I'm here because WikiServer wouldn't start on Windows, well
because I've ripped out lots of eToy stuff, like the
the eToy startup security sandboxing which isn't needed on the iPhone.
changes to base 10204 image
SystemDictionary>>send: startUpOrShutDown toClassesNamedIn:
startUpOrShutDownList with: argument
"Send the message #startUp: or #shutDown: to each class named in the
The argument indicates if the system is about to quit (for
#shutDown:) or if
the image is resuming (for #startUp:).
If any name cannot be found, then remove it from the list."
| removals class t6 t7 |
removals := OrderedCollection new.
class := self at: name ifAbsent: [nil].
class == nil
ifTrue: [removals add: name]
ifFalse: [class isInMemory ifTrue:
[t6 := Time millisecondClockValue.
class perform: startUpOrShutDown with: argument.
startUpOrShutDown = #startUp:
ifTrue: [t7 := class printString , ' ' , (Time
millisecondClockValue - t6) printString.
FilePackage log: t7]]]].
"Remove any obsolete entries, but after the iteration"
startUpOrShutDownList removeAll: removals
ifNil: [LogFileStream := StandardFileStream forceNewFileNamed:
ifTrue: [LogFileStream reopen.
Oh at shutdown: time we need to do a FilePackage closeLog, where that
happens is an exercise for the reader.
John M. McIntosh <johnmci at smalltalkconsulting.com> Twitter:
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
More information about the Vm-dev