X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eal%2Flinux%2Feal.c;h=6c34ac89038690b268dfd9847817c45a1095d4d9;hb=378cd4887d6c02bf771eee3a8b56a3af41f37b7c;hp=a4161be630a0a41532d5edd422ec2eacc126a2fb;hpb=cb056611a8ed9ab9024f3b91bf26e97255194514;p=dpdk.git diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c index a4161be630..6c34ac8903 100644 --- a/lib/librte_eal/linux/eal.c +++ b/lib/librte_eal/linux/eal.c @@ -1273,7 +1273,7 @@ rte_eal_init(int argc, char **argv) ret = rte_service_init(); if (ret) { rte_eal_init_alert("rte_service_init() failed"); - rte_errno = ENOEXEC; + rte_errno = -ret; return -1; } @@ -1295,7 +1295,7 @@ rte_eal_init(int argc, char **argv) */ ret = rte_service_start_with_defaults(); if (ret < 0 && ret != -ENOTSUP) { - rte_errno = ENOEXEC; + rte_errno = -ret; return -1; } @@ -1360,6 +1360,8 @@ rte_eal_cleanup(void) rte_memseg_walk(mark_freeable, NULL); rte_service_finalize(); rte_mp_channel_cleanup(); + /* after this point, any DPDK pointers will become dangling */ + rte_eal_memory_detach(); rte_trace_save(); eal_trace_fini(); eal_cleanup_config(internal_conf);