Merge remote-tracking branch 'origin/topic/jsiwek/interpreter-exception-fix'

* origin/topic/jsiwek/interpreter-exception-fix:
  Fix exceptions thrown in event handlers preventing others from running.
This commit is contained in:
Robin Sommer 2012-06-21 10:14:24 -07:00
commit 0ca0119f2a
6 changed files with 70 additions and 13 deletions

View file

@ -329,7 +329,17 @@ Val* BroFunc::Call(val_list* args, Frame* parent) const
bodies[i].stmts->GetLocationInfo());
Unref(result);
result = bodies[i].stmts->Exec(f, flow);
try
{
result = bodies[i].stmts->Exec(f, flow);
}
catch ( InterpreterException& e )
{
// Already reported, but we continue exec'ing remaining bodies.
continue;
}
if ( f->HasDelayed() )
{