The latest open-source release of TBB has an implementation of std::condition_variable. It's in include/tbb/compat/condition_variable .
Though blocking a thread for a long time hurts the efficiency of the task paradigm. If using tasking, it might be better to use a pattern that defers execution of the task instead of blocking the thread, which of course was your original question.
Our new TBB Design Patterns document has some relevant patterns. To get it now, go to http://www.threadingbuildingblocks.org/ver.php?fid=151, and look for Design_Patterns.pdf . Chapters 8-10 may be relevant to your problem. Even though chapter 8 is called "GUI Thread", it is worth reading first because chapters 9 and 10 build upon the example there. The patterns in those chapter rely upon the new task::enqueue functionality in the latest open source release.