I've been fighting with a termination deadlock problem in the commercial aligned release TBB for awhile now. In an act of desperation I decided to download and try the development release, and discovered the problem is gone. My question is how many people are using the development release, how stable is it, and do the dev changes routinely make it back into the commercial release?
The development release is the hairy edge. Though it may get fixes before they show up in the commericial aligned release, it also can contain errors and "experimental" code. I've been playing with parallel_invoke, for example, working on some test cases for a blog I'm writing. I've already hacked the header file to overcome a compilation issue. So you may be able to find fixes like the one you think you've found, but always remember the development release is the least stable of the TBB variants to be found on the web site.
Hi Robert and thanks for the answer. While I really do need the run-time linking (LoadLibrary() based) termination deadlock fix, your comments are making me seriously reconsider going with the development release. It looks like that code base has gone through some significant restructuringsince the 2.1 Upg 4 release. Do you have any idea how long it takes these changes to make it into the commercial aligned release?
In the development release:
1) There don't seem to be null_rw_mutex / null_mutex in the
2) There seems to be the new concurrent_bounded_queue.
Can anyone comment on the state of #1, the null mutexes? I rather like this concept. Also, does anyone have any performance characteristics to compare the bounded queue versus the older queue?
Quoting - Robert Reed (Intel)