[squeak-dev] Re: Using Semaphores in drawing code

Ben Coman btc at openinworld.com
Tue Aug 23 14:35:03 UTC 2016


On Tue, Aug 23, 2016 at 9:34 PM, marcel.taeumel <Marcel.Taeumel at hpi.de> wrote:
> Ben Coman wrote
>> On Tue, Aug 23, 2016 at 5:26 PM, marcel.taeumel &lt;
>>> It is not the point whether applications should do this or not but our
>>> recently changed semantics of semaphores might render your image unusable
>>> because of unusual application code.
>>
>> I'm curious what was the change in Semaphore semantics?
>>
>> cheers -ben
>>
>
> Seems to be more strict/reliable now. Does real blocking. Something in that
> direction. :-)

I search my gmail for...    semaphore "The Trunk Kernel"

and could not identify any changes to Semaphore handling.  I did see
two Process related commits that seem aimed at improving the run queue
interaction with semaphores, but I'm not sure that is what you meant.

http://forum.world.st/The-Trunk-Kernel-eem-999-mcz-td4878765.html
Name: Kernel-eem.999
Author: eem
Time: 18 February 2016, 11:03:09.008076 pm
UUID: 30222068-755f-4637-bbbb-6f775291e746
Ancestors: Kernel-bf.998
Fix isSuspended (my last commit was a regression; I had confused
isSuspended with isBlocked).  Comment all the isFoo testing methods in
process.  Add isBlocked.  Modify Process>>terminate to set the pc of
the context of a process that is not auto-terminated to its endPC so
that isTerminated and isSuspended can distinguish between processes
either terminated or suspended.

http://forum.world.st/The-Trunk-Kernel-eem-1000-mcz-td4878768.html
Name: Kernel-eem.1000
Author: eem
Time: 18 February 2016, 11:18:00.405861 pm
UUID: 70e6b96c-ca2f-4f79-8253-239575f13beb
Ancestors: Kernel-eem.999
Make Process>>resume primitive.  Andreas fixed the ancestor of the Cog
VM so that the resume primitive fails if thesuspendedContext is not a
context.  This renders Tim's suspendedCOntext ifNil: [^self
primitiveFailed] guard obsolete.  Hence nuke primitiveResume.


Also searching on...     semaphore "vm-dev vm maker"
could not identify any Semaphore changes.

If indeed there were any Semaphore code changes, I'd be interested in
reviewing them if anyone could easily put their finger on it.

cheers -ben


More information about the Squeak-dev mailing list