zeek/src/logging
Jon Siwek 7e5115460c Fix three bugs with 'when' and 'return when' statements. Addresses #946
- 'when' statements were problematic when used in a function/event/hook
  that had local variables with an assigned function value.  This was
  because 'when' blocks operate on a clone of the frame and the cloning
  process serializes locals and the serialization of functions had an
  infinite cycle in it (ID -> BroFunc -> ID -> BroFunc ...).  The ID
  was only used for the function name and type information, so
  refactoring Func and subclasses to depend on those two things instead
  fixes the issue.

- 'return when' blocks, specifically, didn't work whenever execution
  of the containing function's body does another function call before
  reaching the 'return when' block, because of an assertion.  This was
  was due to logic in CallExpr::Eval always clearing the CallExpr
  associated with the Frame after doing the call, instead of restoring
  any previous CallExpr, which the code in Trigger::Eval expected to
  have available.

- An assert could be reached when the condition of a 'when' statement
  depended on checking the value of global state variables.  The assert
  in Trigger::QueueTrigger that checks that the Trigger isn't disabled
  would get hit because Trigger::Eval/Timeout disable themselves after
  running, but don't unregister themselves from the NotifierRegistry,
  which keeps calling QueueTrigger for every state access of the global.
2013-02-19 11:38:17 -06:00
..
writers Merge remote-tracking branch 'origin/topic/bernhard/input-logging-commmon-functions' 2013-01-23 16:51:54 -08:00
Manager.cc Fix three bugs with 'when' and 'return when' statements. Addresses #946 2013-02-19 11:38:17 -06:00
Manager.h Improve log filter compatibility with remote logging. 2012-07-30 13:17:49 -05:00
WriterBackend.cc factor out ascii input/output. 2012-12-03 12:59:11 -08:00
WriterBackend.h factor out ascii input/output. 2012-12-03 12:59:11 -08:00
WriterFrontend.cc Tweaking writer API for failed rotations. 2012-07-28 16:38:22 -07:00
WriterFrontend.h Merge branch 'topic/robin/master-test' 2012-07-23 16:20:44 -07:00