I have some code that I need to put a mutex into. This code is called both from TBB code and non-TBB code so I don't want to take out the lock if I don't have to. I can't tell how to determine if the TBB scheduler currently has any tasks assigned to it though. I had hoped that tbb_scheduler_init::is_active() would do it but it seems not. It's always true after some TBB code has run. Is this possible?
I apologize for a long delay with the answer. I'm not aware of such functionality.
In general, it is not recommended to mix different threading programming models in the same application. TBB has its own synchronization mechanisms too -- it is recommended to use them instead of OS mutex.