On Wed, Feb 24, 2016 at 7:23 AM, Ben Coman <btc@openinworld.com> wrote:
Just sharing a passing thought so I don't forget it before I have time
to think more deeply on it.

Several parts of Pharo (like SHTextStyler) are designed to have a
background process running, and when new input arrives that process is
killed so another can be immediately started - and sometimes we seem
to end up with large amounts of zombie processes.

As I poke around Process>>terminate, I wonder if a different approach
would be to have a Process>>restart.�� I see there is Context>>restart.

The starting the background process might look like...

�� �� stylingProcess := [ [ "do stuff with nextData". self suspend ]
repeat ] forkAt: 30.

and the code in the main morphic priority 40 thread might look like...

�� ��sylingProcess suspend.
�� ��nextData := 'blah'.
�� ��sylingProcess restart.

Hi Ben, so I'm assuming restart differs from resume.�� Am I right in thinking it cuts back the process to the "start"?�� Is the start the block from which the process was spawned, the argument to fork or forkAt:? ��
��
anyway, back to the grind for me,
cheers -ben
��
_,,,^..^,,,_
best,��Eliot