Avoiding infinite loops when an error message handlers triggers errors

itself.

If an error is triggered inside one of the reporter_* handlers, the
message about that will now fall back to stderr.
This commit is contained in:
Robin Sommer 2011-07-01 10:04:27 -07:00
parent 66e2c3b623
commit fb6a8cec19
16 changed files with 94 additions and 11 deletions

View file

@ -40,10 +40,16 @@ protected:
event_serializer->Serialize(&info, handler->Name(), args);
}
if ( handler->ErrorHandler() )
reporter->BeginErrorHandler();
handler->Call(args, no_remote);
if ( obj )
// obj->EventDone();
Unref(obj);
if ( handler->ErrorHandler() )
reporter->EndErrorHandler();
}
EventHandlerPtr handler;