Boost logo

Boost Users :

Subject: [Boost-users] [signals2][review] The review of the signals2 library (formerly thread_safe_signals) begins today, Nov 1st
From: Stjepan Rajko (stjepan.rajko_at_[hidden])
Date: 2008-11-01 15:22:49

Hello all,

The review for the Signals2 library (formerly known as
thread_safe_signals) submitted by Frank Mori Hess begins today (Nov
1st) and is scheduled to end on Nov 10th. I would like to thank Franz
Alt, Terry Golubiewski, Doug Gregor, Ravikiran Rajagopal and Andrew
Webber for making this review possible by committing to reviewing the

How to submit a review:

As usual, EVERYONE is welcome to participate in the review discussions
and to submit a review. I strongly encourage participation from
reviewers that would examine the library from a purely user standpoint
(commenting on the interface and / or the documentation), as well as
reviewers that would be willing to look into the details of the
implementation (i.e., you don't have to focus on both).

Here are some questions you might want to answer in your review (feel
free to skip those that don't apply to your analysis):

    * What is your evaluation of the design?
    * What is your evaluation of the implementation?
    * What is your evaluation of the documentation?
    * What is your evaluation of the potential usefulness of the library?
    * Did you try to use the library? With what compiler? Did you have
any problems?
    * How much effort did you put into your evaluation? A glance? A
quick reading? In-depth study?
    * Are you knowledgeable about the problem domain?

And finally, every review should answer this question:

    * Do you think the library should be accepted as a Boost library?
Be sure to say this explicitly so that your other comments don't
obscure your overall opinion.

Please submit your review either to the list or privately to me by the
end of the review period. If you send me a review privately I will
forward it to the list so the review can be discussed. If you would
prefer me to forward your review anonymously (with your name removed)
please indicate that in your e-mail.

If you are a first time reviewer, here is some more information to get
you started:
* has more information on
the review process
* the review officially takes place on both the boost dev and
boost-user lists, but typically more of the discussion happens on the
boost dev list
* if you want to get a feel for past reviews, you can find them in the
archives (see - the past
review dates are on the review schedule
( Typically,
there is a period of discussion between the reviewers and the author,
with official reviews coming in towards the tail end of the review

About the library:

* The library can be downloaded from:
(latest version is

* Documentation is also available online:

* A synopsis:
The Boost.Signals2 library (formerly known as thread_safe_signals) is
an implementation of a managed signals and slots system. Signals
represent callbacks with multiple targets, and are also called
publishers or events in similar systems. Signals are connected to some
set of slots, which are callback receivers (also called event targets
or subscribers), which are called when the signal is "emitted."

Signals and slots are managed, in that signals and slots (or, more
properly, objects that occur as part of the slots) can track
connections and are capable of automatically disconnecting signal/slot
connections when either is destroyed. This enables the user to make
signal/slot connections without expending a great effort to manage the
lifetimes of those connections with regard to the lifetimes of all
objects involved.

When signals are connected to multiple slots, there is a question
regarding the relationship between the return values of the slots and
the return value of the signals. Boost.Signals2 allows the user to
specify the manner in which multiple return values are combined.

* Relationship to Boost.Signals:
This is a thread-safe variant of the original Boost.Signals library.
There have been some changes to the interface to support
thread-safety, mostly with respect to automatic connection management.

The following thread offers some more details on the differences
between the two implementations, as well as a plan of a phased
replacement of Boost.Signals should Signals2 be accepted: [nabble]

The Signals2 FAQ also covers some differences:

Kind regards,

Stjepan (review manager)

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at