[dpdk-stable] patch 'app/testpmd: avoid exit without terminal restore' has been queued to stable release 19.11.7
Christian Ehrhardt
christian.ehrhardt at canonical.com
Thu Feb 4 12:29:33 CET 2021
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 <christian.ehrhardt at canonical.com>
---
>From 062df532dd0e0f63169173171708bb84186e138a Mon Sep 17 00:00:00 2001
From: Dapeng Yu <dapengx.yu at intel.com>
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 <dapengx.yu at intel.com>
Acked-by: Xiaoyun Li <xiaoyun.li at intel.com>
---
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 at 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)
More information about the stable
mailing list