vici: Properly skip raise_event() for unknown event names

This commit is contained in:
Martin Willi
2014-05-07 14:13:38 +02:00
parent 3a9a46c20f
commit 65cc8f5581
+13 -13
View File
@@ -437,23 +437,23 @@ METHOD(vici_dispatcher_t, raise_event, void,
if (event) if (event)
{ {
event->uses++; event->uses++;
} this->mutex->unlock(this->mutex);
this->mutex->unlock(this->mutex);
enumerator = array_create_enumerator(event->clients); enumerator = array_create_enumerator(event->clients);
while (enumerator->enumerate(enumerator, &current)) while (enumerator->enumerate(enumerator, &current))
{
if (id == 0 || id == *current)
{ {
send_op(this, *current, VICI_EVENT, name, message); if (id == 0 || id == *current)
{
send_op(this, *current, VICI_EVENT, name, message);
}
} }
} enumerator->destroy(enumerator);
enumerator->destroy(enumerator);
this->mutex->lock(this->mutex); this->mutex->lock(this->mutex);
if (--event->uses == 0) if (--event->uses == 0)
{ {
this->cond->broadcast(this->cond); this->cond->broadcast(this->cond);
}
} }
this->mutex->unlock(this->mutex); this->mutex->unlock(this->mutex);