Replacing Semaphores with Mesa Monitors
cputney at wiresong.ca
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.
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