clib_time_init() may use clib main heap when it needs to parse /proc
or /sys. Make sure the main heap is initialized early.
Type: fix
Change-Id: I891504f3455b97c06da25e4833a8fb6941eb428a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
vapi_error_e
vapi_ctx_alloc (vapi_ctx_t * result)
{
+ if (!clib_mem_get_per_cpu_heap () && !clib_mem_init (0, 1024L * 1024 * 32))
+ {
+ return VAPI_ENOMEM;
+ }
vapi_ctx_t ctx = calloc (1, sizeof (struct vapi_ctx_s));
if (!ctx)
{
return VAPI_EINVAL;
}
- if (!clib_mem_get_per_cpu_heap () && !clib_mem_init (0, 1024L * 1024 * 32))
- {
- return VAPI_ENOMEM;
- }
-
ctx->requests_size = max_outstanding_requests;
const size_t size = ctx->requests_size * sizeof (*ctx->requests);
void *tmp = realloc (ctx->requests, size);