|
Boost Users : |
From: Timmo Stange (ts_at_[hidden])
Date: 2007-02-02 19:24:11
Frank Mori Hess wrote:
[...]
> Then any slots with expired weak_ptrs could be cleaned up
> when the signal is next emitted, or also in signal::connect() to prevent
> lots of dead connections from accumulating. If we do cleanup in
> connect(), then I could get rid of the disconnect callback stuff I added,
> since it would be mostly redundant.
As I mentioned in my reply to Peter Dimov, the current Boost.Signals
implementation solves this from the call and disconnection context only.
A limited number of dangling connections is not a problem and as this
approach only prohibits direct removal of connections from the call
context (with the same cleanup of dead connections that you already
do), the problem I described does not exist.
Is there a special reason you started from scratch instead of using
Doug's implementation as a starting point? I know I may come a little
late with this, but most of it seems to be reusable for a thread-safe
version.
Regards
Timmo Stange
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net