$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Jeff Flinn (TriumphSprint2000_at_[hidden])
Date: 2006-05-18 09:36:21
Setzer, Sebastian (ext) wrote:
> Hi,
> If you connect (disconnect) a new slot to a signal inside of a slot of
> the same signal, what happens?
> - are the slots called which where connected before the signal was
> called,
> - or is new slot be called this time, too,
> - or is the behaviour undefined?
>
> I didn't find anything on this subject in the manuals. Even if the
> behaviour is undefined, that should be mentioned.
Doesn't the following answer the questions:
http://www.boost.org/doc/html/signals/tutorial.html#id2732772
When can disconnections occur? (Intermediate)
---------------------------------------------
...
These events can occur at any time without disrupting a signal's calling 
sequence. If a signal/slot connection is disconnected at any time during a 
signal's calling sequence, the calling sequence will still continue but will 
not invoke the disconnected slot. Additionally, a signal may be destroyed 
while it is in a calling sequence, and which case it will complete its slot 
call sequence but may not be accessed directly.
Signals may be invoked recursively (e.g., a signal A calls a slot B that 
invokes signal A...). The disconnection behavior does not change in the 
recursive case, except that the slot calling sequence includes slot calls 
for all nested invocations of the signal.
Jeff Flinn