[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: condition variables and mutexes



> I can't see any reason this re-acquisition must necessarily be part of
> the waiting operation --- clearly, the awakened thread must wait its
> turn for the mutex, like everyone else.  But I think it is easier to
> reason about: the invariant "I've got the mutex" holds upon entry and
> exit to the waiting operation --- just not while it's waiting.
> 
> If this is a deliberate choice, it's an unusual one, and there should
> be some rationale given in the SRFI.
> 
> If you decide to change the SRFI's waiting operation to more closely
> resemble those provided by the other systems, then I think it should
> be given its own name, instead of being attached to `mutex-unlock!'
> --- it would be odd indeed for a function named `mutex-unlock!' to
> return with the mutex still locked.  `condition-variable-wait!' would
> be one possibility.

You are right.  I'll make the change.

Marc