[squeak-dev] Transcript losing output when #processPreemptionYields = true
Eliot Miranda
eliot.miranda at gmail.com
Sun Jan 31 17:58:04 UTC 2021
Hi Jaromir, hi All,
> On Jan 31, 2021, at 9:28 AM, jaromir <m at jaromir.net> wrote:
>
> Transcript may lose some output for #processPreemptionYields = true
But processPreemptionYields should be false. I put in the ability to make it false precisely because of the kinds of problems below that are caused when processPreemptionYields = true. How come we still have trunk images where processPreemptionYields = true?
>
> Example (semaphore prearmed with 2 signals):
>
> |accessProtect|
> Smalltalk vm processPreemptionYields: true.
> Transcript cr.
> accessProtect := Semaphore new signal signal.
> [accessProtect critical: [
> Transcript cr; show: 'Process 1a '.
> 10000 factorial.
> Transcript cr; show: 'Process 1b '.
> ]] fork.
> Processor yield.
> [accessProtect critical: [
> Transcript cr; show: 'Process 2a '.
> 10000 factorial.
> Transcript cr; show: 'Process 2b '.
> ]] forkAt: 41.
> Transcript cr; show: 'Process UIa '.
> 0.3 second wait.
> Transcript cr; show: 'Process UIb '.
>
> Output:
> "this is ok"
> Process 1a
> Process 2a
> Process 2b
> Process 1b
> Process UIa
> Process UIb
>
> "Here Process 2a output missing!"
> Process 1a
> Process 2b
> Process UIa
> Process 1b
> Process UIb
>
> "Or even this came out"
> Process 1a
> Process 2b
> Process 1b
> Process UIb
>
> The problem is probably related to the post: Transcript error when
> forceUpdate: false
> http://forum.world.st/Transcript-error-when-forceUpdate-false-td5126397.html
>
> Similar workaround (Collections-mt.923 @ inbox) may fix this issue too.
> Tested on Squeak6.0alpha-20182-64bit-freshCopy (Collections-dtl.923 @ trunk)
Eliot,
_,,,^..^,,,_ (phone)
More information about the Squeak-dev
mailing list
|