Boost logo

Boost :

From: Nicolas Fleury (nfleury_at_[hidden])
Date: 2003-06-04 17:42:34


William E. Kempf wrote:
> Stefan Seefeld said:
>>As boost doesn't, there must clearly be other reasons for them not to do
>>that.
>
> There is, but the explanations are long and quite complex. That's why the
> FAQ points you at a seminal paper on the subject, rather than attempting

Correct me if I'm wrong, but isn't the FAQ pointing to a seminal paper
only when justiying the absence of events, not semaphores?

What is the paper you have in mind to justify the absence of semaphores?
  I would like very much to understand and be convinced. It would also
be nice if the #10 of the FAQ would point to this paper.

> to explain it. Like I've said in numerous arguments about the Event
> concept, the problem with the concept isn't that it's broken or unusable,
> only that it's difficult to actually use correctly. Most users think
> their code is correct, when in fact they have race conditions waiting to
> bite them. When Mutexes and Condition variables provide everything that
> Semaphores and Events do, but in a way that's easier to use correctly, the
> choice to not include Event's or Semaphore's is reasonable.

I highly respect and esteem people working on boost, and I strongly
expect the removal of semaphore was reasonable. It's just that the
current explanation I see is not convincing for me and probably others:
"Semaphore was removed as too error prone. The same effect can be
achieved with greater safety by the combination of a mutex and a
condition variable." I guess the answer is in the papers referred in
the events versus conditions question; it's just that people coming from
Posix environments would not care about the event topic and would feel
the semaphore absence justification is incomplete.

Regards,
Nicolas Fleury


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk