It recently became clear that a number of subtle bugs in Ardour (particularly Ardour3) were caused by the lack of thread safety in libsigc++, a library I’ve previously spoken of as “the best thing to happen to C++ ever”. Alas, my cavalier use of it even in spite of my knowledge that it was not thread safe has now required several days of effort to move the codebase over to a similar library that is thread safe: boost::signals2. This post reviews my experiences while doing this, and compares and contrasts the two libraries from the specific perspective of their use in Ardour.
- Syntax, Syntax, Syntax
- A Slot for Everything and Everything in Its Slot
- Make it Binding
- Connection Management
- No Need To Hide
Read more at : http://ardour.org/development/signals
