[dpdk-dev] [PATCH] eal: parse args before any kinds of init
Wang Sheng-Hui
shhuiw at gmail.com
Tue Apr 15 05:03:47 CEST 2014
Parse args first, to resolve any invalid args and give out the usage string.
E.g './helloworld --invalid', the '--invalid' will be checked before any init.
After the options are checked, take any init actions.
Signed-off-by: Wang Sheng-Hui <shhuiw at gmail.com>
---
lib/librte_eal/linuxapp/eal/eal.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c
index 3ded563..9d20718 100644
--- a/lib/librte_eal/linuxapp/eal/eal.c
+++ b/lib/librte_eal/linuxapp/eal/eal.c
@@ -637,6 +637,11 @@ eal_parse_args(int argc, char **argv)
};
struct shared_driver *solib;
+ /* check the no args case */
+ if (argc == 1) {
+ eal_usage(prgname);
+ return (-1);
+ }
argvopt = argv;
internal_config.memory = 0;
@@ -964,16 +969,16 @@ rte_eal_init(int argc, char **argv)
thread_id = pthread_self();
+ fctret = eal_parse_args(argc, argv);
+ if (fctret < 0)
+ exit(1);
+
if (rte_eal_log_early_init() < 0)
rte_panic("Cannot init early logs\n");
if (rte_eal_cpu_init() < 0)
rte_panic("Cannot detect lcores\n");
- fctret = eal_parse_args(argc, argv);
- if (fctret < 0)
- exit(1);
-
if (internal_config.no_hugetlbfs == 0 &&
internal_config.process_type != RTE_PROC_SECONDARY &&
internal_config.xen_dom0_support == 0 &&
--
1.8.3.2
More information about the dev
mailing list