[squeak-dev] Re: Process-specific state broken and uncomplete
Andreas Raab
andreas.raab at gmx.de
Tue Nov 9 17:07:31 UTC 2010
On 11/8/2010 7:39 PM, Igor Stasenko wrote:
> Suppose you have a domain object which provides following ways to
> access the session:
>
> session: forkedSession
> Processor activeProcess environmentAt: #session put: forkedSession
>
> session
> ^ Processor activeProcess environmentAt: #session
>
>
> now, here what i'd like to write:
>
> | session |
>
> session := MySession new .
> session initialize blabla.
>
> "good fork"
> good := [
> self session: session.
> [ self process stuff ] ensure: [ session close ]
> ] newProcess.
>
> good resume.
> 1 minute asDelay wait.
> good terminate.
> self assert: (session isClosed).
You'll be happy to hear that Eliot's fixes address this very problem. I
just wrote a simple test to illustrate the issue more clearly:
ProcessTest>>testFaithfulTerminate
"Ensure that we have process-faithful termination and unwind"
| p |
p := [
[Semaphore new wait] ensure:[self assert: Processor activeProcess == p].
] forkAt: Processor activePriority + 1.
p terminate.
This test passes fine in our images that have the process-faithful
debugging fixes.
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|