aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/odp_init.c
diff options
context:
space:
mode:
authorChristophe Milard <christophe.milard@linaro.org>2017-01-02 10:41:42 +0100
committerMaxim Uvarov <maxim.uvarov@linaro.org>2017-01-13 16:01:33 +0300
commitf53fda91d2919eee33b5a177ef818be1092c890b (patch)
tree829335a4474c4cd37865089a3166a60a82dbb7e4 /platform/linux-generic/odp_init.c
parent46e088c2f56d1463a598b4ac23308e19bf2b9031 (diff)
linux-gen: init: avoiding segfault if cleaning files
The call the the cleanup_files() function (which cleans up possible remaining file(s) from a defunc OPD with same pid) may use ODP_DBG and ODP_ERR functions, but is (before this patch) placed before these ODP_* functions are initialized. This would surely sigfault. The call the the cleanup_files() function is hence placed after ODP_DBG and ODP_ERR function initialization to avoid this situation. Signed-off-by: Christophe Milard <christophe.milard@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform/linux-generic/odp_init.c')
-rw-r--r--platform/linux-generic/odp_init.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/platform/linux-generic/odp_init.c b/platform/linux-generic/odp_init.c
index 1b0d8f833..06c61435e 100644
--- a/platform/linux-generic/odp_init.c
+++ b/platform/linux-generic/odp_init.c
@@ -73,7 +73,6 @@ int odp_init_global(odp_instance_t *instance,
memset(&odp_global_data, 0, sizeof(struct odp_global_data_s));
odp_global_data.main_pid = getpid();
- cleanup_files(_ODP_TMPDIR, odp_global_data.main_pid);
enum init_stage stage = NO_INIT;
odp_global_data.log_fn = odp_override_log;
@@ -86,6 +85,8 @@ int odp_init_global(odp_instance_t *instance,
odp_global_data.abort_fn = params->abort_fn;
}
+ cleanup_files(_ODP_TMPDIR, odp_global_data.main_pid);
+
if (odp_cpumask_init_global(params)) {
ODP_ERR("ODP cpumask init failed.\n");
goto init_failed;