diff options
author | Volker Lendecke <vl@samba.org> | 2013-04-15 22:19:25 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2013-04-18 22:50:42 +0200 |
commit | 79fe1381a3a78ad2316343fc8c1c27360b46ebbf (patch) | |
tree | 55f565400e19a8aba5aa6717ed1649a1c94cfd81 /lib/talloc | |
parent | a796e48b1dfe96b194f3a3a0d70e25c3ab92690d (diff) | |
download | samba-79fe1381a3a78ad2316343fc8c1c27360b46ebbf.tar.gz samba-79fe1381a3a78ad2316343fc8c1c27360b46ebbf.tar.bz2 samba-79fe1381a3a78ad2316343fc8c1c27360b46ebbf.zip |
talloc: Simplify _talloc_free_poolmem a bit
Early returns are easier to understand than "else if"
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Apr 18 22:50:42 CEST 2013 on sn-devel-104
Diffstat (limited to 'lib/talloc')
-rw-r--r-- | lib/talloc/talloc.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/talloc/talloc.c b/lib/talloc/talloc.c index 0078b07ca6..885d7006e6 100644 --- a/lib/talloc/talloc.c +++ b/lib/talloc/talloc.c @@ -794,7 +794,10 @@ static inline void _talloc_free_poolmem(struct talloc_chunk *tc, */ pool->hdr.c.pool = tc_pool_first_chunk(pool); tc_invalidate_pool(pool); - } else if (unlikely(pool->hdr.object_count == 0)) { + return; + } + + if (unlikely(pool->hdr.object_count == 0)) { /* * we mark the freed memory with where we called the free * from. This means on a double free error we can report where @@ -804,14 +807,23 @@ static inline void _talloc_free_poolmem(struct talloc_chunk *tc, TC_INVALIDATE_FULL_CHUNK(&pool->hdr.c); free(pool); - } else if (pool->hdr.c.pool == next_tc) { + return; + } + + if (pool->hdr.c.pool == next_tc) { /* * if pool->pool still points to end of * 'tc' (which is stored in the 'next_tc' variable), * we can reclaim the memory of 'tc'. */ pool->hdr.c.pool = tc; + return; } + + /* + * Do nothing. The memory is just "wasted", waiting for the pool + * itself to be freed. + */ } static inline void _talloc_free_children_internal(struct talloc_chunk *tc, |