Updated 3.8.2 updates

Diego Gomez Deck DiegoGomezDeck at consultar.com
Thu Nov 15 08:43:27 UTC 2007


Hi Mike,

I'm not sure of this is the final wanted shape for Semaphore>>critical
(From 6755SemaCritical):

critical: mutuallyExcludedBlock

	"Evaluate mutuallyExcludedBlock only if the receiver is not currently in
	the process of running the critical: message. If the receiver is, evaluate
	mutuallyExcludedBlock after the other critical: message is finished."

	| blockValue caught |

	caught := false.
	[
		caught := true.
		self wait.
		blockValue := mutuallyExcludedBlock value
	] ensure: [caught ifTrue: [self signal]].

	^blockValue


There was a bit of discussion about putting the "caught" flag AFTER the
wait.  Something like:

		self wait.
		caught := true. "signal the flag just after we got the semaphore"


See http://tech.groups.yahoo.com/group/squeak/message/123504 for an
explanation from Andreas.

Cheers,

-- Diego


> Hi all,
> 
> I put up an updated set of updates for 3.8.2 here:
> http://impara.de/~michael/proposed-3.8.2.zip
> 
> If no major problems turn up I would like to push those tomorrow or so.
> 
> Michael





More information about the Squeak-dev mailing list