[dpdk-stable] patch 'app/testpmd: avoid exit without terminal restore' has been queued to stable release 20.11.1
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Fri Feb 5 12:19:12 CET 2021
Hi,
FYI, your patch has been queued to stable release 20.11.1
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/07/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/bluca/dpdk-stable
This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/2f31a5ca4d6c620549ab48a2d2f361c3e92ed3fb
Thanks.
Luca Boccassi
---
>From 2f31a5ca4d6c620549ab48a2d2f361c3e92ed3fb 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 94240c840b..5436cfbd7d 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -17114,6 +17114,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();
@@ -17121,15 +17122,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.29.2
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2021-02-05 11:18:40.912871889 +0000
+++ 0266-app-testpmd-avoid-exit-without-terminal-restore.patch 2021-02-05 11:18:29.346701392 +0000
@@ -1 +1 @@
-From b3e3d602a5ff6b91dd6006328b95e78ccd513f20 Mon Sep 17 00:00:00 2001
+From 2f31a5ca4d6c620549ab48a2d2f361c3e92ed3fb 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 94240c840b..5436cfbd7d 100644
@@ -26 +27 @@
-@@ -17131,6 +17131,7 @@ cmdline_read_from_file(const char *filename)
+@@ -17114,6 +17114,7 @@ cmdline_read_from_file(const char *filename)
@@ -34 +35 @@
-@@ -17138,15 +17139,23 @@ prompt(void)
+@@ -17121,15 +17122,23 @@ prompt(void)
More information about the stable
mailing list