A little MC patch

Igor Stasenko siguctua at gmail.com
Sat Feb 16 16:45:36 UTC 2008


On 16/02/2008, Jason Johnson <jason.johnson.081 at gmail.com> wrote:
> Sorry, I didn't parse that (too many "no"'s I think :).  The GUI
> doesn't actually lock does it?  It shows a status bar while it's
> working doesn't it?  But if the MC system works by (a) looking at the
> current state of the system and then (b) applying what is missing to
> bring the system up to date then it is important that no modifications
> to any methods are allowed until the whole operation is complete.
>

- when you opening remote repository, no need to lock UI, right?
- when you downloading package to package cache, again, no locking is necessary

only when you updating the code from package, it may require locking
UI (which is questionable).

It's really hard to say where regular code ends, and code which
modifies classes/methods starting, it's smalltalk at the end.

Also, in real, a UI is not locked while updating image with package,
to be precise, UI is locked because this process performed in UI
process. Nothing prevents you (and MC) from calling different UI
methods while performing update, actually showing a progress bar
during update illustrating that the UI is involved during update.

Also, don't forget, that at any time, higher priority process can
interrupt MC at any time and nothing prevents it to update display or
modify system (classes/methods).

So, locking UI when MC loading package really buys nothing. What its
does is actually making users pissed.
It's not buys any safety, the only way how to ensure it, is to run
updates exclusively, making sure that no other process can interrupt
update until it's fully finishes
(which in own turn brings us to the issue with suspend/resume to be
able do this, read http://bugs.squeak.org/view.php?id=6822 for
details).

I'm already proposed earlier, to add option to MC, to be able to load
package silently, without involving any UI. Simply to make MC be less
dependent from the big amount of code located in image (Morphic)
during update.

-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list