Some more questions (file ins, morphic, vm upgrade, threading)

Bob Arning arning at
Thu Dec 28 04:18:02 UTC 2000


On Wed, 27 Dec 2000 22:52:12 -0500 "Peter Schuller" <peter.schuller at> wrote:
>* How do I file *in* changes? I know how to file them out. As for filing in,
>I tried opening the file (open->file) and opening the change browser. When I
>selected all changes and tried to file them in (using the "file in" popup
>selection) I got some error regarding incorrect syntax or whatnot. I suspect
>I'm going about it entirely the wrong way. What's the standard procedure? I
>have not been able to find anything any method  except what I mentioned above.

If you want to file-in an entire file, then use the File List. Select the desired file in the upper right pane and then from the menu on that pane, select 'file into new change set', or perhaps simply 'fileIn' if you want them included in the current change set. If you are filing in only part of a file or code that is simply in a workspace, the select the code and choose 'file it in' from the 'more...' section of the code pane menu.

>* What is the correct way to obtain an "official" Swueak 2.9? I didn't find
>a 2.9 binary, so I now have the 2.7 VM with the 2.9 image and changes file.
>I have a feeling my installation is not "pure" because of this :) Is there
>even a 2.9 specific VM, or is 2.9 really just a changes update?

2.9 is really an image designation. VM's often are quite usable for a fairly wide range of images, although I suspect you'd be happier with a later Vm when using a 2.9 image. The starting points for finding the current VM are and the swiki at Georgia Tech (which I can't seem to reach at the moment).

>* Is morphic thread-safe? In terms of the underlying rendering system that
>is. Assuming I keep my head on straight, is it perfectly safe to manipulate
>Morphin components in threads (processes) othar than the "main" one (if
>there is such a thing)?

It is *not* thread-safe and you manipulate it from other processes at your own peril. In 2.9 you can do 

	WorldState addDeferredUIMessage: [some morphic-altering code here]

from another process and that code will run in the main UI process in a safer manner.

>* I wanted a way to execute critical sections that wouldn't cause a deadlock
>if the code recursively synchronized around the same object multiple times
>(ala Java). This is not possible using the plane Semaphor>>critical: method.
>I implemented this myself with a "smart" semaphore that kept track of which
>process was currently executing a critical section. It works great, but is
>there a built-in (and therefore probably faster) way of doing this that I
>haven't discovered?

Nothing built-in. I do the same thing myself when I need the feature.


More information about the Squeak-dev mailing list