Replacing Semaphores with Mesa Monitors

Colin Putney cputney at
Thu May 13 01:54:18 UTC 2004

On May 12, 2004, at 5:36 PM, Andrew P. Black wrote:

> I would like to propose a change to the core synchronization construct 
> used in Squeak.  I believe that we should switch from the Semaphore to 
> the Mesa-style monitor with condition variables.
> Note that I'm not just proposing that we _add_ Mesa-style monitors to 
> the existing bevy of synchronization constructs: I could do that 
> without getting any consensus from the community, and indeed we have 
> implemented Mesa monitors in terms of Semaphores.  I'm proposing that 
> we remove Semaphores entirely, and use Mesa-style monitors instead.

Hi Andrew,

I think this is a great idea. It's a big job though, since Semaphores 
are core construct that's used in many places in both the Image and the 
VM (and VM plug-ins).

I'd think the way to go would be to introduce new primitives for use by 
monitors and have them co-exist with semphores until the migration is 
complete and we can do away with semphores. It might also be useful to 
have this be a change that happens in Squeak 4.0, since VM/image 
compatibility will be broken anyway.


More information about the Squeak-dev mailing list