creating a process in a workspace

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

creating a process in a workspace

Philippe Marschall
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
Reply | Threaded
Open this post in threaded view
|

Re: creating a process in a workspace

Dale Henrichs
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
|
Reply | Threaded
Open this post in threaded view
|

Re: creating a process in a workspace

Philippe Marschall
On Wed, Apr 18, 2012 at 12:42 AM, Dale Henrichs <[hidden email]> wrote:

> 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 ...

Thanks.

Cheers
Philippe