Implemented debugging function rlookup() which you can call from gdbto see what resource does the address given as a parameter belong to.
Avoid conflicts with libraries defining their own xmalloc by definingxmalloc to bird_xmalloc internally.
Added lp_flush() which flushes contents of a linear pool, leaving all thememory available for subsequent allocations from the same pool. Both flushingand re-using the memory costs just few instructions.
Use dmalloc instead of EFence when available (dmalloc has lot of improvementsover EFence and also hopefully smaller memory overhead, but sadly it's non-freefor commercial use).
If the DMALLOC_OPTIONS environment variable is not set, switch on `reasonable'...
Name cleanups as suggested by Pavel:
- cfg_strcpy() > cfg_strdup() mempool -> linpool, mp_* -> lp_* [to avoid confusion with memblock, mb_*]
Anyway, it might be better to stop ranting about names and do some real work.
Removed prototype of rp_free() since this function has never existed.
Resource pools are now named.
BIRD library: The story continues.
Complete resource manages and IP address handling.
Changed #include <x/y> to #include "x/y" for our local includes, so thatgcc -MM can be used to separate them from the system ones.
Added automatic generation of dependencies.
First look at data structures. More to come tomorrow...