示例#1
0
		//must be the last call from the runtime_node
		void remove_node( runtime_node* n )
		{
			typename mutex::scoped_lock g(m_);
			typename nodes::iterator it;
			for( it = n_.begin(); it != n_.end(); ++it )
			{
				if( it->second.get() == n )
				{
					del_[n] = it->second;
					n_.erase(it);
					c_.notify_all();
					return;
				}
			}
			assert( 0 ); //node not found
		}
示例#2
0
	void deactivate()
	{
		mutex::scoped_lock lk( head_mtx_);
		deactivate_();
		not_empty_cond_.notify_all();
	}
示例#3
0
 void mark_ready_and_notify_()
 {
     ready_ = true;
     waiters_.notify_all();
 }