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 E8DFBA0524 for ; Thu, 4 Feb 2021 12:38:10 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E25C6240799; Thu, 4 Feb 2021 12:38:10 +0100 (CET) Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by mails.dpdk.org (Postfix) with ESMTP id 01505240757 for ; Thu, 4 Feb 2021 12:38:09 +0100 (CET) Received: from 2.general.paelzer.uk.vpn ([10.172.196.173] helo=localhost.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1l7cxc-0005j7-Qo; Thu, 04 Feb 2021 11:38:08 +0000 From: Christian Ehrhardt To: Dapeng Yu Cc: Xiaoyun Li , dpdk stable Date: Thu, 4 Feb 2021 12:29:33 +0100 Message-Id: <20210204112954.2488123-118-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210204112954.2488123-1-christian.ehrhardt@canonical.com> References: <20210204112954.2488123-1-christian.ehrhardt@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'app/testpmd: avoid exit without terminal restore' has been queued to stable release 19.11.7 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" Hi, FYI, your patch has been queued to stable release 19.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/06/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/062df532dd0e0f63169173171708bb84186e138a Thanks. Christian Ehrhardt --- >From 062df532dd0e0f63169173171708bb84186e138a Mon Sep 17 00:00:00 2001 From: Dapeng Yu Date: Mon, 25 Jan 2021 11:29:53 +0800 Subject: [PATCH] app/testpmd: avoid exit without terminal restore [ upstream commit b3e3d602a5ff6b91dd6006328b95e78ccd513f20 ] In interactive mode, if testpmd exit by calling rte_exit without restore terminal attributes, terminal will not echo keyboard input. register a function with atexit() in prompt(), when exit() in rte_exit() is called, the registered function restores terminal attributes. Fixes: 5a8fb55c48ab ("app/testpmd: support unidirectional configuration") Signed-off-by: Dapeng Yu Acked-by: Xiaoyun Li --- app/test-pmd/cmdline.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 7e1ced7c59..21211907eb 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -19497,6 +19497,7 @@ cmdline_read_from_file(const char *filename) void prompt(void) { + int ret; /* initialize non-constant commands */ cmd_set_fwd_mode_init(); cmd_set_fwd_retry_mode_init(); @@ -19504,15 +19505,23 @@ prompt(void) testpmd_cl = cmdline_stdin_new(main_ctx, "testpmd> "); if (testpmd_cl == NULL) return; + + ret = atexit(prompt_exit); + if (ret != 0) + printf("Cannot set exit function for cmdline\n"); + cmdline_interact(testpmd_cl); - cmdline_stdin_exit(testpmd_cl); + if (ret != 0) + cmdline_stdin_exit(testpmd_cl); } void prompt_exit(void) { - if (testpmd_cl != NULL) + if (testpmd_cl != NULL) { cmdline_quit(testpmd_cl); + cmdline_stdin_exit(testpmd_cl); + } } static void -- 2.30.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-02-04 12:04:32.860520114 +0100 +++ 0118-app-testpmd-avoid-exit-without-terminal-restore.patch 2021-02-04 12:04:28.174789868 +0100 @@ -1 +1 @@ -From b3e3d602a5ff6b91dd6006328b95e78ccd513f20 Mon Sep 17 00:00:00 2001 +From 062df532dd0e0f63169173171708bb84186e138a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b3e3d602a5ff6b91dd6006328b95e78ccd513f20 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index b338f5fe63..789f35f099 100644 +index 7e1ced7c59..21211907eb 100644 @@ -26 +27 @@ -@@ -17131,6 +17131,7 @@ cmdline_read_from_file(const char *filename) +@@ -19497,6 +19497,7 @@ cmdline_read_from_file(const char *filename) @@ -34 +35 @@ -@@ -17138,15 +17139,23 @@ prompt(void) +@@ -19504,15 +19505,23 @@ prompt(void)