History

don't format mempool region on free

Matthew Wang committed 6 years ago

Commit b8628af1 parent 0de3b3b2 files · +19 −3Browse files

Unified · Split

2 files
  1. LEAF/Inc/leaf-mempool.h +1 −1
  2. LEAF/Src/leaf-mempool.c +18 −2
LEAF/Inc/leaf-mempool.h+1−1
@@ -104,7 +104,7 @@ extern "C" { · 103 unmodified lines
104104
105105 void tMempool_init (tMempool* const, char* memory, size_t size);
106106 void tMempool_free (tMempool* const);
107− void tMempool_initToPool (tMempool* const, tMempool* const);
107+ void tMempool_initToPool (tMempool* const, char* memory, size_t size, tMempool* const);
108108 void tMempool_freeFromPool (tMempool* const, tMempool* const);
109109
110110 //==============================================================================
LEAF/Src/leaf-mempool.c+18−2
@@ -209,8 +209,8 @@ void mpool_free(void* ptr, mpool_t* pool) · 208 unmodified lines
209209 pool->head = freed_node;
210210
211211 // Format the freed pool
212− char* freed_pool = (char*)freed_node->pool;
213− for (int i = 0; i < freed_node->size; i++) freed_pool[i] = 0;
212+// char* freed_pool = (char*)freed_node->pool;
213+// for (int i = 0; i < freed_node->size; i++) freed_pool[i] = 0;
214214 }
215215
216216 void leaf_free(void* ptr)
@@ -300,3 +300,19 @@ void tMempool_free(tMempool* const mp) · 83 unmodified lines
300300
301301 leaf_free(m);
302302 }
303+
304+void tMempool_initToPool (tMempool* const mp, char* memory, size_t size, tMempool* const mem)
305+{
306+ _tMempool* mm = *mem;
307+ _tMempool* m = *mp = (_tMempool*) mpool_alloc(sizeof(_tMempool), mm->pool);
308+
309+ mpool_create (memory, size, m->pool);
310+}
311+
312+void tMempool_freeFromPool (tMempool* const mp, tMempool* const mem)
313+{
314+ _tMempool* mm = *mem;
315+ _tMempool* m = *mp;
316+
317+ mpool_free(m, mm->pool);
318+}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t