[sigc] remarks on using (or not using) sigc++



[ this is just a remark i sent privately to kjell, and he suggested i forward it to the whole list ]

the ardour project moved away from sigc++ because it is not thread safe. we initially settled on boost::signals(2?) but then found out that this not correctly thread safe (i don't recall the details, but it was either not actually thread safe despite claims to be, or insufficiently close to realtime safety for us to use)

we ended up developing our own signal system which combines thread safety, relatively good realtime safety and most of the basic features of sigc++. we generally use boost::bind to construct the equivalent of sigc::slot, which provides most of the fancier features :)

we continue to use sigc++ for things that only involve the GUI, since thread safety is not required there (it is mandatorily single-threaded code).

we generate our signals.h header using python.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]