ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/branches/8.2.x/src/dbuf.c
(Generate patch)

Comparing ircd-hybrid/trunk/src/dbuf.c (file contents):
Revision 1592 by michael, Sat Oct 27 21:02:32 2012 UTC vs.
Revision 1654 by michael, Fri Nov 16 19:39:37 2012 UTC

# Line 24 | Line 24
24  
25   #include "stdinc.h"
26   #include "list.h"
27 #include "balloc.h"
27   #include "dbuf.h"
28   #include "memory.h"
29 + #include "mempool.h"
30  
31 < static BlockHeap *dbuf_heap;
31 > static mp_pool_t *dbuf_pool;
32  
33   void
34   dbuf_init(void)
35   {
36 <  dbuf_heap = BlockHeapCreate("dbuf", sizeof(struct dbuf_block), DBUF_HEAP_SIZE);
36 >  dbuf_pool = mp_pool_new(sizeof(struct dbuf_block), MP_CHUNK_SIZE_DBUF);
37   }
38  
39   static struct dbuf_block *
40   dbuf_alloc(struct dbuf_queue *qptr)
41   {
42 <  struct dbuf_block *block = BlockHeapAlloc(dbuf_heap);
42 >  struct dbuf_block *block = mp_pool_get(dbuf_pool);
43  
44 +  memset(block, 0, sizeof(*block));
45    dlinkAddTail(block, make_dlink_node(), &qptr->blocks);
46    return block;
47   }
# Line 101 | Line 102 | dbuf_delete(struct dbuf_queue *qptr, siz
102      count -= first->size;
103      dlinkDelete(ptr, &qptr->blocks);
104      free_dlink_node(ptr);
105 <    BlockHeapFree(dbuf_heap, first);
105 >    mp_pool_release(first);
106    }
107  
108    /* ..then remove data from the beginning of the queue */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines