From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 64BB4A0524 for ; Mon, 31 May 2021 13:32:09 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5B4834003F; Mon, 31 May 2021 13:32:09 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2060.outbound.protection.outlook.com [40.107.220.60]) by mails.dpdk.org (Postfix) with ESMTP id D01694003F for ; Mon, 31 May 2021 13:32:07 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Whw0kTC26/Xut62OCDXJRFXfptVbDvGVLEHRfGtFlIZGw4CrsX8udREetCzDgoVlR2p60HdKGBF6+tsXPGrVyhv2uzCv0o6uWcaMv5dQBiy3hYManbrWTm/26rFszQTQNBnKNgOCatIHBnlWkbPmxsnZdoVYYM+s/D/BTKH2ayzMhDUdgdbfnDzJXxxkUn3OgZBjn5SxmaBxDeDG9TmbXG5jjT8Ys7SnfVSIY991v5Kc+ExNUj4W7dl6u5/dvjbNqhxzKl0bJ0on9waHTYkvpjh0DkpvuZM61lKnFf87ncWZwoCpc2iz6qum20lzEr/yNiWCe2QUx5bwyBdBt3oe9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aIQZAqAukffKl5KUWsKSYPSZ8kh5+gtxxcxQNJjc7C4=; b=eEDIFQeBxHxXe+RZSTOkgcKBqFwoOZ9qiHbEfmqrE08OE4CDJeSfCpSF3TjOpVU2pO4UzpOjpzGBYgfyHmx4/ijXZGWjFZCQiZkEJgTHjkovPQgqT5tZgpgpIzwjSsJfVlbw1u6gvlHKkgooBBP2faStRg4So7ImcjHQsmDXoyzez85E80CiadUOlf0EDJi2VDYz5lm+7AB9dHfHado+0BBML/pw/guwIDXgIOhbJcmrmWEwEEsn5r3v6WZHWBrp/h49CNGA5FfQfbkhoWb4i4QXJf/SP5hY/LkggCrOzvQWhFsikFdJf+7IXNu+znxRJwGbHvuxxesM3BfhZc6jHQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aIQZAqAukffKl5KUWsKSYPSZ8kh5+gtxxcxQNJjc7C4=; b=fvUI54mBF34WdXAaPDwwlDWNpMzmjhOPMKa2oCLzenbqDBEJKSu9JcrM9Pqt9l2ZtfUHgqi0m4LJO5NhynQ5LtWAJYVJlDoDfN4gBM9IE+v1B8WP4uh5rOaS+NLWo4Hn7RK3lAP4Z4c977ye/D3ImKb48GNKmI1bh5c6Sbmoyqdtr37z2jgkUsy5MqAv17ZDYDjHd0zyPDuTjRB1DS385mNePfeKM3YRXeJ+4/hsQsb3QMJMhPelJu1/N0U60rt4KkMcxPE45qYXhpaa2w1hAx62TgxGnW/SEjwu9ZPFUl2IfIr0CwsTsmXv8ehAAtgUHQSZPY9ryNuGlVeShNEJZQ== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) by DM4PR12MB5293.namprd12.prod.outlook.com (2603:10b6:5:39d::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.21; Mon, 31 May 2021 11:32:06 +0000 Received: from DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::ac75:9b9a:a03f:1676]) by DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::ac75:9b9a:a03f:1676%3]) with mapi id 15.20.4173.030; Mon, 31 May 2021 11:32:06 +0000 From: "Xueming(Steven) Li" To: NBU-Contact-Thomas Monjalon , "stable@dpdk.org" CC: Wisam Monther , Ori Kam , Bruce Richardson , Andrew Rybchenko , David Marchand Thread-Topic: [PATCH 20.11] app: fix exit messages Thread-Index: AQHXU6LhGkI7UD9onke1DpzB9RVqcqr9edxA Date: Mon, 31 May 2021 11:32:06 +0000 Message-ID: References: <20210528092134.19628-1-thomas@monjalon.net> In-Reply-To: <20210528092134.19628-1-thomas@monjalon.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: monjalon.net; dkim=none (message not signed) header.d=none;monjalon.net; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [2409:891e:bc26:ec97:7c23:e6a3:fab8:f666] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 320c6710-8381-42cd-e8ed-08d92427b867 x-ms-traffictypediagnostic: DM4PR12MB5293: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: D7l3OOm+RO7kG8BDWj98PIFWMG+hBux27SasSXdBIOQQFa8Ez0FV0J1RWciyg4HRq6g5oOPal0YcxMdjLqLwxdenqwpFmOi/RLV5vPPoQjuVfUENM/bP66FKau9HB1Cu54a6PLm7lPd5dELQQEPTdtf74kmRXikTI5b4shewqDcl+Xj6K7AeOZ/0RVa1xivf3OkDIW21u+RKTezLVSV+NVIUy4MNLCWbM5y5abvfes+jdq+q0YWviXMdw92KTX4Vc77UtkJI3f6g40h37xspGFPE9dohGkOGon3YgbYuZOkQJBfg7kRa81ImIQqX7bYxSrzFfP2F5W8y8MmbkDeVcYmlEFducTVZcAMxRPLpYGBeMHOJTPURiY48LYv7gVidX8Mn7HTKcAeX0WUxwsGBNCwlmvT/DFfLvQvmYwqTO5ApULGoYPky1O9+M0Y7/bNS8Ak+6tmjoNbjliV2Pp8JUEGuKo3BZPiBpMLHNlF7C6Znn2/w39LqHw4cCaTYFPqJCAjtaxL6z521+ZdrhRoy721KUcRuwC0V4uPammnfB7IZjqGCOJaDz7y+kYEMfN39ediHtwglqhvWmXGsCyHZn/GASXiB8ZDFWelYtptqlIw= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5373.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(136003)(376002)(346002)(39860400002)(366004)(15650500001)(9686003)(316002)(53546011)(55016002)(52536014)(33656002)(66446008)(86362001)(2906002)(122000001)(6506007)(38100700002)(110136005)(54906003)(71200400001)(66946007)(8676002)(5660300002)(8936002)(66476007)(186003)(478600001)(76116006)(7696005)(83380400001)(64756008)(4326008)(66556008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?VcTGV83nc3EZAyNNg88d/zcLah1P/t3f/6UdBvhKLJUK1XlBUzRcc6gDmv/6?= =?us-ascii?Q?gB+MmIijMOYFa1PpGU2maP95q4hX8d7awtJyTdc2QbaGyMq6ICN5s5YuZhqc?= =?us-ascii?Q?979AcK/HrkVLtsGkJd0ehjXbIIMx8z9+fnYPX3Auc+cPOC7zkZE+XUGPi0Xx?= =?us-ascii?Q?+3Q3QZInFec5aYDmI+mkfB+cIHfTqXICjxietMxvA5OO/B7mZDzG2G9hj8MY?= =?us-ascii?Q?cAADoQvczdZSL7h2lBZd89NFvuN0RaKOaGEVaOrBTnEs0KI14231ODblaOfu?= =?us-ascii?Q?mXNWraOGXh/d2FpOCUHnmPorzJ1uzV3foFFRTjz66uu1Bf/QmqgPa1M3Gjfy?= =?us-ascii?Q?2oMM+Fcu16K0DHuW7xliMA2yt2LQVhRD+WxFJDUm6X+k8NWFkN2fwgdUbBFJ?= =?us-ascii?Q?QikIJWM8NkDCpw9tagcRdhZZUNUvOrz5SzVTCP7+MQY5P7TXrxfxe5cCawl5?= =?us-ascii?Q?GYlz0qI760Kr4nWGf/e19DGZF9/bPVPrc0BD7cL931Bzf1t2lMptbGlMjGAa?= =?us-ascii?Q?LGDmUPuz7Q8l6F576qzKhHFIkh/ENOqZlxLXQTjPkwY/mYW6fJUfxXeKgK9P?= =?us-ascii?Q?bhWdSMxJQW0SHhUn2JWi0aMt6hkSKv2wPYH0wAJjQAfEhkIulS8H9hW4+mJ4?= =?us-ascii?Q?Zn6weMZW3McNc8AEv5ep6Y2Oh7g3IBdFeHnsM3qHr1bPltl3IOsHc0pUOLK2?= =?us-ascii?Q?kAqbp4Szobw5rqCWyubvbF/vxiVV1QYLFY5uxE9N7otOgJxKRDf69naYW5aj?= =?us-ascii?Q?UziXoZ+cH/FUaiUt6H0Kl35Vwc4SDJ85ITR47cUfRNWYAcpvIW/cHfFZJhIc?= =?us-ascii?Q?zQomc2b/v0zF8R8FPMP5/O0AB+2F8ae/QdHihNDark3zJqCPdNTV25BHJ6lX?= =?us-ascii?Q?nVUzq+kGl7ZDbV3qSIxWISFTb7jM7ak3MNcyO4oLihkVuYAoezLOe3E64RTD?= =?us-ascii?Q?sHM1HtnkgNqrkQDjodJlaXsdaZUgsvaTmVKWxAzBHKy6h4ruvgmv9D0YDd90?= =?us-ascii?Q?CRRxyVkVqsINbnK4ecK6sgSjWmO2wDslk3HDxHyd+vCdknsSi7h/ncOr5DdD?= =?us-ascii?Q?/ChXivMWikV53wDBzvlhCaeDjKVny9Ny4NnFelMDdidyokk3XEkWGUUn/MnJ?= =?us-ascii?Q?1DjavNrfNyxBYtQ4FpPQ4Gyuqni69fZ2WMmp/VoKEQ3LK409bEC4v4FHB5eY?= =?us-ascii?Q?wRtevXGmSFkvrvlB9sSart+ON/rQnIt3rQ42v35wv4vNe+BKLgDCTKT40tFv?= =?us-ascii?Q?1YUiW1w5Kll7V5iQtcOriaU4oWJRNctAbVIThxf007D78DMK+RRNHJO5KyHA?= =?us-ascii?Q?G0jUE4Q6MsonUtIh18fsmKwMNqMfK9+NdyNtNTH6qmWvOr3p5Ji5c4kV+A7J?= =?us-ascii?Q?UmbGmh+FLCojWxAwba3558V9L+RQ?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5373.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 320c6710-8381-42cd-e8ed-08d92427b867 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 May 2021 11:32:06.3487 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: BjB/ZLipCLYOiTY1taoE+zUh6MLLJOKO09Os0fen1/RMKHKgkE/yFuqBNNWW3wuaQoXO8SGVKNw2u3tYQ1mINg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5293 Subject: Re: [dpdk-stable] [PATCH 20.11] app: fix exit messages X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Thanks, applied > -----Original Message----- > From: Thomas Monjalon > Sent: Friday, May 28, 2021 5:22 PM > To: stable@dpdk.org > Cc: Xueming(Steven) Li ; Wisam Monther ; Ori Kam ; Bruce > Richardson ; Andrew Rybchenko ; David Marchand > > Subject: [PATCH 20.11] app: fix exit messages >=20 > [ upstream commit 487cfc24370fdb7ea843aa510d6e6d2a7212dd23 ] >=20 > Some applications were printing useless messages with rte_exit() after sh= owing the help. Using exit() is enough in this case. >=20 > Some applications were using a redundant printf or fprintf() before calli= ng rte_exit(). The messages are unified in a single rte_exit(). >=20 > Some rte_exit() calls were missing a line feed or returning a wrong code. >=20 > Signed-off-by: Thomas Monjalon > Acked-by: Wisam Jaddo > Acked-by: Ori Kam > Acked-by: Bruce Richardson > Acked-by: Andrew Rybchenko > Acked-by: David Marchand > --- > .../comp_perf_options_parse.c | 2 +- > app/test-crypto-perf/cperf_options_parsing.c | 2 +- > app/test-flow-perf/main.c | 45 +++++++++---------- > app/test-pmd/parameters.c | 4 +- > app/test-regex/main.c | 3 +- > 5 files changed, 26 insertions(+), 30 deletions(-) >=20 > diff --git a/app/test-compress-perf/comp_perf_options_parse.c b/app/test-= compress-perf/comp_perf_options_parse.c > index 04a8d2fbee..019eddb7bd 100644 > --- a/app/test-compress-perf/comp_perf_options_parse.c > +++ b/app/test-compress-perf/comp_perf_options_parse.c > @@ -620,7 +620,7 @@ comp_perf_options_parse(struct comp_test_data *test_d= ata, int argc, char **argv) > switch (opt) { > case 'h': > usage(argv[0]); > - rte_exit(EXIT_SUCCESS, "Displayed help\n"); > + exit(EXIT_SUCCESS); > break; > /* long options */ > case 0: > diff --git a/app/test-crypto-perf/cperf_options_parsing.c b/app/test-cryp= to-perf/cperf_options_parsing.c > index 0466f7baf8..40b6dfb648 100644 > --- a/app/test-crypto-perf/cperf_options_parsing.c > +++ b/app/test-crypto-perf/cperf_options_parsing.c > @@ -983,7 +983,7 @@ cperf_options_parse(struct cperf_options *options, in= t argc, char **argv) > switch (opt) { > case 'h': > usage(argv[0]); > - rte_exit(EXIT_SUCCESS, "Displayed help\n"); > + exit(EXIT_SUCCESS); > break; > /* long options */ > case 0: > diff --git a/app/test-flow-perf/main.c b/app/test-flow-perf/main.c index = e2fc5b7f65..64d722baa7 100644 > --- a/app/test-flow-perf/main.c > +++ b/app/test-flow-perf/main.c > @@ -606,7 +606,7 @@ args_parse(int argc, char **argv) > case 0: > if (strcmp(lgopts[opt_idx].name, "help") =3D=3D 0) { > usage(argv[0]); > - rte_exit(EXIT_SUCCESS, "Displayed help\n"); > + exit(EXIT_SUCCESS); > } >=20 > if (strcmp(lgopts[opt_idx].name, "group") =3D=3D 0) { @@ -614,7 +614,= 7 @@ args_parse(int argc, char **argv) > if (n >=3D 0) > flow_group =3D n; > else > - rte_exit(EXIT_SUCCESS, > + rte_exit(EXIT_FAILURE, > "flow group should be >=3D 0\n"); > printf("group %d / ", flow_group); > } > @@ -634,7 +634,7 @@ args_parse(int argc, char **argv) > if (n > 0) > hairpin_queues_num =3D n; > else > - rte_exit(EXIT_SUCCESS, > + rte_exit(EXIT_FAILURE, > "Hairpin queues should be > 0\n"); >=20 > flow_actions[actions_idx++] =3D > @@ -647,7 +647,7 @@ args_parse(int argc, char **argv) > if (n > 0) > hairpin_queues_num =3D n; > else > - rte_exit(EXIT_SUCCESS, > + rte_exit(EXIT_FAILURE, > "Hairpin queues should be > 0\n"); >=20 > flow_actions[actions_idx++] =3D > @@ -671,11 +671,9 @@ args_parse(int argc, char **argv) > break; > } > /* Reached last item with no match */ > - if (i =3D=3D (RTE_DIM(flow_options) - 1)) { > - fprintf(stderr, "Invalid encap item: %s\n", token); > - usage(argv[0]); > - rte_exit(EXIT_SUCCESS, "Invalid encap item\n"); > - } > + if (i =3D=3D (RTE_DIM(flow_options) - 1)) > + rte_exit(EXIT_FAILURE, > + "Invalid encap item: %s\n", token); > } > token =3D strtok(NULL, ","); > } > @@ -697,11 +695,9 @@ args_parse(int argc, char **argv) > break; > } > /* Reached last item with no match */ > - if (i =3D=3D (RTE_DIM(flow_options) - 1)) { > - fprintf(stderr, "Invalid decap item: %s\n", token); > - usage(argv[0]); > - rte_exit(EXIT_SUCCESS, "Invalid decap item\n"); > - } > + if (i =3D=3D (RTE_DIM(flow_options) - 1)) > + rte_exit(EXIT_FAILURE, > + "Invalid decap item %s\n", token); > } > token =3D strtok(NULL, ","); > } > @@ -714,9 +710,9 @@ args_parse(int argc, char **argv) > if (n >=3D DEFAULT_RULES_BATCH) > rules_batch =3D n; > else { > - printf("\n\nrules_batch should be >=3D %d\n", > + rte_exit(EXIT_FAILURE, > + "rules_batch should be >=3D %d\n", > DEFAULT_RULES_BATCH); > - rte_exit(EXIT_SUCCESS, " "); > } > } > if (strcmp(lgopts[opt_idx].name, > @@ -725,7 +721,8 @@ args_parse(int argc, char **argv) > if (n >=3D (int) rules_batch) > rules_count =3D n; > else { > - printf("\n\nrules_count should be >=3D %d\n", > + rte_exit(EXIT_FAILURE, > + "rules_count should be >=3D %d\n", > rules_batch); > } > } > @@ -752,9 +749,9 @@ args_parse(int argc, char **argv) > } > break; > default: > - fprintf(stderr, "Invalid option: %s\n", argv[optind]); > usage(argv[0]); > - rte_exit(EXIT_SUCCESS, "Invalid option\n"); > + rte_exit(EXIT_FAILURE, "Invalid option: %s\n", > + argv[optind]); > break; > } > } > @@ -853,7 +850,7 @@ destroy_flows(int port_id, struct rte_flow **flow_lis= t) > memset(&error, 0x33, sizeof(error)); > if (rte_flow_destroy(port_id, flow_list[i], &error)) { > print_flow_error(error); > - rte_exit(EXIT_FAILURE, "Error in deleting flow"); > + rte_exit(EXIT_FAILURE, "Error in deleting flow\n"); > } >=20 > if (i && !((i + 1) % rules_batch)) { > @@ -924,7 +921,7 @@ flows_handler(void) > flow_list =3D rte_zmalloc("flow_list", > (sizeof(struct rte_flow *) * rules_count) + 1, 0); > if (flow_list =3D=3D NULL) > - rte_exit(EXIT_FAILURE, "No Memory available!"); > + rte_exit(EXIT_FAILURE, "No Memory available!\n"); >=20 > for (port_id =3D 0; port_id < nr_ports; port_id++) { > /* If port outside portmask */ > @@ -947,7 +944,7 @@ flows_handler(void) >=20 > if (flow =3D=3D NULL) { > print_flow_error(error); > - rte_exit(EXIT_FAILURE, "error in creating flow"); > + rte_exit(EXIT_FAILURE, "Error in creating flow\n"); > } > flow_list[flow_index++] =3D flow; > } > @@ -968,7 +965,7 @@ flows_handler(void) >=20 > if (!flow) { > print_flow_error(error); > - rte_exit(EXIT_FAILURE, "error in creating flow"); > + rte_exit(EXIT_FAILURE, "Error in creating flow\n"); > } >=20 > flow_list[flow_index++] =3D flow; > @@ -1087,7 +1084,7 @@ packet_per_second_stats(void) > old =3D rte_zmalloc("old", > sizeof(struct lcore_info) * MAX_LCORES, 0); > if (old =3D=3D NULL) > - rte_exit(EXIT_FAILURE, "No Memory available!"); > + rte_exit(EXIT_FAILURE, "No Memory available!\n"); >=20 > memcpy(old, lcore_infos, > sizeof(struct lcore_info) * MAX_LCORES); diff --git a/app/test-pmd/par= ameters.c b/app/test-pmd/parameters.c index > df5eb10d84..195a6ae9d8 100644 > --- a/app/test-pmd/parameters.c > +++ b/app/test-pmd/parameters.c > @@ -630,7 +630,7 @@ launch_args_parse(int argc, char** argv) > case 0: /*long options */ > if (!strcmp(lgopts[opt_idx].name, "help")) { > usage(argv[0]); > - rte_exit(EXIT_SUCCESS, "Displayed help\n"); > + exit(EXIT_SUCCESS); > } > #ifdef RTE_LIB_CMDLINE > if (!strcmp(lgopts[opt_idx].name, "interactive")) { @@ -1359,7 +1359,= 7 @@ launch_args_parse(int argc, > char** argv) > break; > case 'h': > usage(argv[0]); > - rte_exit(EXIT_SUCCESS, "Displayed help\n"); > + exit(EXIT_SUCCESS); > break; > default: > usage(argv[0]); > diff --git a/app/test-regex/main.c b/app/test-regex/main.c index ac6152de= a7..507b9cf912 100644 > --- a/app/test-regex/main.c > +++ b/app/test-regex/main.c > @@ -108,9 +108,8 @@ args_parse(int argc, char **argv, char *rules_file, c= har *data_file, > usage("RegEx test app"); > break; > default: > - fprintf(stderr, "Invalid option: %s\n", argv[optind]); > usage("RegEx test app"); > - rte_exit(EXIT_FAILURE, "Invalid option\n"); > + rte_exit(EXIT_FAILURE, "Invalid option: %s\n", argv[optind]); > break; > } > } > -- > 2.31.1