Trim some lock / unlock cycles on the trigger mutex.

git-svn-id: svn://localhost/ardour2/branches/3.0@11245 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2012-01-14 22:02:26 +00:00
parent 6f795668b9
commit d4bab8aeed

View file

@ -222,17 +222,18 @@ Graph::prep()
_finished_refcount = _init_finished_refcount[chain];
/* Trigger the initial nodes for processing, which are the ones at the `input' end */
pthread_mutex_lock (&_trigger_mutex);
for (i=_init_trigger_list[chain].begin(); i!=_init_trigger_list[chain].end(); i++) {
trigger (i->get ());
/* don't use ::trigger here, as we have already locked the mutex */
_trigger_queue.push_back (i->get ());
}
pthread_mutex_unlock (&_trigger_mutex);
}
void
Graph::trigger (GraphNode* n)
{
pthread_mutex_lock (&_trigger_mutex);
_trigger_queue.push_back (n);
pthread_mutex_unlock (&_trigger_mutex);
}
/** Called when a node at the `output' end of the chain (ie one that has no-one to feed)