using namespace snort;
-static bool exit_requested = false;
+bool exit_requested = false;
static int main_exit_code = 0;
static bool paused = false;
static bool pthreads_started = false;
#define MAIN_H
struct lua_State;
-
+extern bool exit_requested;
const char* get_prompt();
// commands provided by the snort module
#include <cassert>
#include "profiler/memory_profiler_active_context.h"
-
+#include "main.h"
#include "memory_allocator.h"
#ifdef UNIT_TEST
// number of requested bytes
size_t payload_size;
- uint32_t thread_id;
+ bool is_packet_thread;
// stat used to keep track of allocation/deallocation
MemoryTracker* mp_inspector_stats = nullptr;
#if defined(REG_TEST) || defined(UNIT_TEST)
sanity(SANITY_CHECK_VALUE),
#endif
- payload_size(n), thread_id(instance_id),
+ payload_size(n), is_packet_thread(snort::is_packet_thread()),
mp_inspector_stats(&mp_active_context.get_default())
{ }
assert(meta);
#ifdef ENABLE_MEMORY_PROFILER
- if (!snort::Snort::is_exiting())
+ if ( !snort::Snort::is_exiting() and !exit_requested )
{
- if (meta->mp_inspector_stats and meta->thread_id == instance_id)
+ if ( meta->mp_inspector_stats and meta->is_packet_thread == true )
meta->mp_inspector_stats->update_deallocs(meta->total_size());
else
- mp_active_context.update_deallocs(meta->total_size());
+ mp_active_context.get_fallback().update_deallocs(meta->total_size());
}
#endif