|
Boost Users : |
From: Frank Mori Hess (frank.hess_at_[hidden])
Date: 2007-03-01 09:51:44
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I've got thread_safe_signals working with a single mutex per signal, which
is only locked/unlocked once per signal invocation. However, it is
causing problems with deletion_test.cpp. The deletion test checks if a
slot is able to disconnect another slot which is ordered later in the same
signal invocation. From the signals docs:
"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."
When the list of blocked slots is created at the beginning of signal
invocation, before running any slots, then the signal invocation never
notices that a later slot has been disconnected by an earlier slot. It
seems to me the only solutions are to either keep per-slot locking, or to
drop the requirement that the signal recognize changes to the connection
status that happen while the invocation is in progress. I don't have a
good feel for how important a feature this is. My inclination is to just
keep per-slot locking.
- --
Frank
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFF5uiA5vihyNWuA4URAkWCAKCPm3xLEp6z1K8Nk5Vp8wHVNKkXqwCfZ7Il
eL0Axnl/SD/4m6i3j54OnfA=
=lSky
-----END PGP SIGNATURE-----
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