|
Now we have logic in SessionManager: <code> SessionManager>>snapshot: save andQuit: quit | isImageStarting snapshotResult | ChangesLog default logSnapshot: save andQuit: quit.
self currentSession stop: quit. "Image not usable from here until the session is restarted!" save ifTrue: [ snapshotResult := Smalltalk snapshotPrimitive. "<-- PC frozen here on image file" isImageStarting := snapshotResult == true. SystemAnnouncer uniqueInstance snapshotDone: isImageStarting ] ifFalse: [ isImageStarting := false ]. (quit and: [ isImageStarting not ]) ifTrue: [ Smalltalk quitPrimitive ].
"create a new session object if we're booting" isImageStarting ifTrue: [ self installNewSession ].
self currentSession start: isImageStarting. snapshotResult ifNil: [ self error: 'Failed to write image file (disk full?)' ].
"We return the resuming state, which may be useful for users to know the state of the image" ^ isImageStarting <code> When we save image just after snapshot system announce event: <code> SystemAnnouncer uniqueInstance snapshotDone: isImageStarting </code> Which means this event will be announced at every startup. I think it is wrong. And it should be announced only on working image
|
|
|
Priority: 5 – Fix If Time
|
|
Status: Work Needed
|
|
Assigned to: Everyone
|
|
Milestone: Pharo6.0
|
Go to Case
|
|