Philippe,
This is supposed to be explained in the blog post that you reference, but apparently, not well enough:)
For gems running as remote GCI servers (as in GemTools), the processes in the gem are only running when the gem is executing a GCI call.
When a GCI command is being executed, the client process (in this case GemTools) is blocked on the api call that initiates the GCI call.
When you execute a #fork from a GemTools workspace, the code is executed in the gem and a process is forked then the GCI call that initiated the execution of the Smalltalk code on the server returns the result of the code to GemTools ... blocking the execution of code in the gem.
If you bring up the Process Browser (on the Tools menu), you will see a couple of menu items:
- yield 5
- yield forever
These menu items make a GCI call with a short delay loop or an infinite loop allowing the "frozen" processes in the gem to run ...
Dale
----- Original Message -----
| From: "Philippe Marschall" <
[hidden email]>
| To: "GemStone Seaside beta discussion" <
[hidden email]>
| Sent: Tuesday, April 17, 2012 12:08:19 PM
| Subject: [GS/SS Beta] creating a process in a workspace
|
| Hi
|
| Ok, this is total noob question.
|
| When I execute the following in a workspace of GemTools
|
| [ Transcript show: 'XXX' ] forkAt: Processor highIOPriority
|
| nothing shows up in the object log
|
| Just evaluating
|
| Transcript show: 'YYY'
|
| makes it show up in the object log
|
| I'm not sure I understand [1] correctly, but is this something that's
| generally not supported (in GemTools)?
|
| [1]
|
http://gemstonesoup.wordpress.com/2009/04/15/glass-beta-update-working-with-soap-preview/#GsProcesses|
| Cheers
| Philippe
|