diff options
author | root <root@hestia.halldom.com> | 2010-07-28 01:04:21 +0100 |
---|---|---|
committer | root <root@hestia.halldom.com> | 2010-07-28 01:04:21 +0100 |
commit | 5992b25ebee1ef68a6f0c9aaa9c67f9f7e6d74e9 (patch) | |
tree | a519f97cadd30fbb8f9219e464a3be5c679f0356 /lib/memory.c | |
parent | 0f1365093f448e9503b618a5097eb8d6433e7710 (diff) | |
download | quagga-5992b25ebee1ef68a6f0c9aaa9c67f9f7e6d74e9.tar.bz2 quagga-5992b25ebee1ef68a6f0c9aaa9c67f9f7e6d74e9.tar.xz |
Introduce "rs-in" route-map
All peers may be configured with an "rs-in" route-map, whether they
are rsclients, or not.
All routes from a given peer are passed through the "rs-in" route-map
before being considered for inclusion in any rsclients RIBs.
Routes pass through the "rs-in" route-map once, irrespective of the
number of rsclients.
An "rs-in" route-map is intended to be used to ensure that routes
from a given peer are kosher, before being passed to rsclients.
The "in" route-map and filters may do the same, but for the main RIB.
Any route-selection type actions that the "in" route-map may do for
the main RIB will probably be done in the "import" route-map for an
rsclient RIB.
Also:
* make zfree() work for NULL items, in lib/memory.c
* fix clear ip bgp .... so works when pEstablished
Version change to ex03.
Diffstat (limited to 'lib/memory.c')
-rw-r--r-- | lib/memory.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/memory.c b/lib/memory.c index 2e295566..c13404d2 100644 --- a/lib/memory.c +++ b/lib/memory.c @@ -203,18 +203,21 @@ zrealloc (enum MTYPE mtype, void *ptr, size_t size MEMORY_TRACKER_NAME) void zfree (enum MTYPE mtype, void *ptr) { - LOCK ; + if (ptr != NULL) + { + LOCK ; - assert(mstat.mt[mtype].alloc > 0) ; + assert(mstat.mt[mtype].alloc > 0) ; - mstat.mt[mtype].alloc--; + mstat.mt[mtype].alloc--; #ifdef MEMORY_TRACKER - mem_md_free(mtype, ptr) ; + mem_md_free(mtype, ptr) ; #endif - free (ptr); + free (ptr); - UNLOCK ; + UNLOCK ; + } ; } ; /*------------------------------------------------------------------------------ |