Thread safe signals boost:signals2

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 :

I think boost libraries top anything else out there haha. Great post :slight_smile: