From: William Kempf (sirwillard_at_[hidden])
Date: 2000-08-11 15:34:19


--- In boost_at_[hidden], scleary_at_j... wrote:
> > . . . The problem here, though, is
> > correctness. An event based implementation is subject to
the "lost
> > wakeup bug". See http://www.cs.wustl.edu/~schmidt/win32-cv-
1.html
> > for a good article on the issue.
>
> That *is* a good article! I stand corrected. One question: should
our
> definition of CV include a signal() operation?

Mr. Schmidt is probably the leading authority on these sorts of
issues. He's as close to an expert on concurrent programming as
you're going to find. His ACE library is a marvel. Unfortunately, I
don't think enough attention was paid to the design with ACE, which
is why I'm so interested in what we're doing here.

As for the signal() question... Jeremy Siek and I are discussing this
in private e-mail right now. (I know that the discussion really
belongs here, it just came up during discussion about an attempt at
writing an document page for the ConditionVariable concept that I
took an attempt at.) I'm personally leaning towards saying yes,
since there are some valid uses for it. However, I know the
potential for misuse is extremely high, so I personally could be
persuaded not to if the discussion moves in that direction.

> > BTW, I'm not new to the concept of a monitor.
>
> Neither am I, of course. :)

*chuckles* Well, your post seemed to be suggesting that we both
were. I just wanted to make it clear that I'm not one of those new
to this particular concept.