chain->slice_size - occupied : 0);
}
-/* By default allocate 8Kb chunks of memory */
+/* By default allocate 4Kb chunks of memory */
#define FIXED_POOL_SIZE 4096
static inline struct rspamd_mempool_entry_point *
});
kh_destroy (mempool_entry, mempool_entries);
+ mempool_entries = NULL;
}
static inline struct rspamd_mempool_entry_point *
cur = pool->pools[RSPAMD_MEMPOOL_NORMAL];
}
- if (cur) {
+ if (cur && mempool_entries) {
pool->entry->elts[pool->entry->cur_elts].leftover =
pool_chain_free (cur);
void
luaopen_regexp (lua_State * L)
{
+ if (!regexp_static_pool) {
+ regexp_static_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (),
+ "regexp_lua_pool");
+ }
+
rspamd_lua_new_class (L, "rspamd{regexp}", regexplib_m);
lua_pop (L, 1);
rspamd_lua_add_preload (L, "rspamd_regexp", lua_load_regexp);
}
-RSPAMD_CONSTRUCTOR (lua_re_static_pool_ctor) {
- regexp_static_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (),
- "regexp_lua_pool");
-}
-
RSPAMD_DESTRUCTOR (lua_re_static_pool_dtor) {
rspamd_mempool_delete (regexp_static_pool);
}
\ No newline at end of file