2010/5/11 Andrei Stebakov <[email protected]>
>
>
> 2010/5/10 Mariano Martinez Peck <[email protected]>
>
>
>>
>> 2010/5/10 Andrei Stebakov <[email protected]>
>>
>>
>>>
>>> I just started to use Pharo 1.0. So please bear with me since I may not
>>> fully understand the full concept of the IDE. Sometimes the whole IDE
>>> freezes indefinitely.
>>
>>
>> Welcome ! we hope you enjoy ;)
>>
>>
>>> So questions:
>>> 1) Looks like evaluating anything from the Workspace freezes the whole UI
>>> for the time of execution. Is it a bug or a feature?
>>>
>>
>> More or less. Pharo has a green thread implementation. I will tell you
>> what I understand. Green threads means, there is only ONE OS thread, and
>> then, internally (in Smalltalk) there exists their own threads, scheduler,
>> priorities, etc. The UI is just a process that is running, with a certain
>> priority. Go to the world menu, then "Tools" -> "Process Browser". There you
>> will see all the current processes with their priorities. You can notice the
>> UI process.
>>
>> But you must agree that it still looks fishy when your whole UI blocks
> when you execute something lengthy (like new package install)...
> Well, if the majority of Pharo users think that it's OK who am I to argue?
> ;)
>
>
I am not saying I like it. I was just trying to explain you just what I
know. I would like also not to block the UI until certain situations, like
installing packages.
Maybe this can be done with Metacello ? I don't know the side effects this
may have (modifying collections or things like that while the other one is
accessing it). I mean, I don't know if the necessary semaphore structure is
done.
>
> So...whatever you do here, it will be done inside that process. If you do
>> normal things, then yes, I guess the UI freezes. However, you way want to
>> launch another thread to do what you want and with a lower priority than the
>> UI.
>>
>> Do this test: open a workspace and a transcript. In the workspace,
>> evaluate:
>>
>> [ 1000 timesRepeat: [Transcript show: 'mariano'; cr] ] forkAt: Processor
>> userBackgroundPriority
>>
>> there, you will see that you are able to use the ide, while the block of
>> writing to Transcript is working "at the same time".
>>
>> Here the most important message is forkAt: . fork just fork the block
>> with the standard priority ("Processor activePriority"). If you want to
>> specify the priority, you have to use forkAt:
>>
> Yes, the [ HTTPSocket httpGet: 'http://www.pharo-project.org/home']
> forkAt: Processor userBackgroundPriority doesn't block the UI anymore...
> If it's the way to go, shouldn't we have a "special non-blocking" Workspace
> which does exactly this (or have an option to run your Workspace command
> with a background priority)?
>
Yes! I like very much the idea. We should think how to implement it (if
possible). Because when you evaluate code, you just evaluate code, I don't
know if you can know "from where" you evaluated. In addition, it would be
interesting to see the side effects. But I admit I like the idea.
>
>
>>
>>
>>
>>> 2) Sometimes executing something freezes the UI indefinitely. Is there a
>>> way to cancel the operation (other than restarting the image)?
>>> Strangely in my case the IDE froze on evaluating HTTPSocket httpGet: '
>>> http://www.pharo-project.org/home'
>>>
>>>
>> Yes, Sockets are an example where sometimes they block the whole image.
>> Are you behind a proxy ? do you have a timeout error after a while ?
>> I have just tested and it also freezes for me in Mac OS. I have no idea.
>> Maybe other can help.
>>
>
> If I execute HTTPSocket httpGet: 'http://www.pharo-project.org/home'. in a
> Workspace having a Transcript window open, I got a never-ending messages in
> the Transcript window like:
> "redirecting to http://www.cmsbox.com/errors/hostnotfound.html".
>
mmmmm I cc'ed Adrian that he may help you.
Yes, I am behind a firewall, but other urls work with the same command.
>
>
Ok...
>
>
>>
>> But yes, usually (sometimes it doesn't work) there is a combination of
>> keys that send a system interruption. Check this links:
>>
>> http://wiki.squeak.org/squeak/899
>> http://wiki.squeak.org/squeak/1542
>>
>> Great! Alt-. works.
>
excellent.
Cheers
Mariano
> BTW Adrian, I think this deserves a FAQ entry as it has been asked several
>> times.
>>
>> Cheers
>>
>> Mariano
>>
>>
>>> Thank you,
>>> Andrei
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project