-- fix null flow_con in print mode
-- fixed udp session timeout counting
-- patched around shutdown issue after reload
+-- fixed calls to Inspector::tterm()
127
-- REG_TEST out logging tcp options for rebuilt packets to match snort bug
virtual void show(SnortConfig*) { };
// packet thread functions
- virtual void tinit() { };
- virtual void tterm() { };
+ // tinit, tterm called on default policy instance only
+ virtual void tinit() { }; // allocate configurable thread local
+ virtual void tterm() { }; // purge only, deallocate via api
virtual void eval(Packet*) = 0;
virtual void meta(int, const uint8_t*) { };
{
const InspectApi& api;
bool init; // call pin->tinit()
+ bool term; // call pin->tterm()
PHClass(const InspectApi& p) : api(p)
- { init = true; };
+ { init = term = true; };
static bool comp (PHClass* a, PHClass* b)
{ return ( a->api.type < b->api.type ); };
if ( pi && pi->framework_policy )
{
for ( auto* p : pi->framework_policy->ilist )
- // FIXIT-H init set after reload preventing call to
- // StreamBase::tterm() which is bad, m'kay?
- //if ( !p->pp_class.init )
+ if ( p->pp_class.term )
{
p->handler->tterm();
- p->pp_class.init = true;
+ p->pp_class.term = false;
}
}
}