acl: use setjmp/longjmp to handle alloc failures at build phase
authorKonstantin Ananyev <konstantin.ananyev@intel.com>
Thu, 19 Feb 2015 17:44:19 +0000 (17:44 +0000)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Tue, 28 Apr 2015 09:55:03 +0000 (11:55 +0200)
commitafd7f2d86a7e9bfa286224d12e558330b0ef4ed2
treecea76b2da6a91587b394e6296b5e4486c2be815a
parentc660072c30d2e3b92935c358451c6179db0f6f08
acl: use setjmp/longjmp to handle alloc failures at build phase

During build phase ACL doing quite a lot of memory allocations
for relatively small temporary structures.
In theory each of such allocation can fail, so we need to handle
all these possible failures.
That adds a lot of extra checks and makes the code harder to read and follow.
To simplify the process, made changes to handle all such failures
in one place.
Note, that all that memory for temporary structures
is freed at one go at the end of build phase.

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
lib/librte_acl/acl_bld.c
lib/librte_acl/tb_mem.c
lib/librte_acl/tb_mem.h