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


_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to