!126 修复ps --sort 与 -A -H选项同时使用显示不全
From: @yinyongkang Reviewed-by: @SuperSix173 Signed-off-by: @SuperSix173
This commit is contained in:
commit
dd51a179e3
32
backport-acknowledge-fix-for-the-lost-tasks-ps-issue.patch
Normal file
32
backport-acknowledge-fix-for-the-lost-tasks-ps-issue.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From 92bdeb176f3ce8793ba1a2f3d82525b5c51f7449 Mon Sep 17 00:00:00 2001
|
||||
From: Jim Warner <james.warner@comcast.net>
|
||||
Date: Wed, 4 Oct 2023 12:00:00 -0500
|
||||
Subject: [PATCH] NEWS: acknowledge fix for the lost tasks ps issue #304
|
||||
|
||||
[ and eliminate 1 decades old useless initialization ]
|
||||
|
||||
Reference(s):
|
||||
. Sep, 2023 - fix for ps issue #304
|
||||
commit 09fbd70de33c451dde84254718ded2ccac48aed4
|
||||
|
||||
Signed-off-by: Jim Warner <james.warner@comcast.net>
|
||||
---
|
||||
src/ps/display.c | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/ps/display.c b/src/ps/display.c
|
||||
index 325edf38..9b5c7165 100644
|
||||
--- a/src/ps/display.c
|
||||
+++ b/src/ps/display.c
|
||||
@@ -357,7 +357,7 @@ next_proc:
|
||||
|
||||
/***** forest output requires sorting by ppid; add start_time by default */
|
||||
static void prep_forest_sort(void){
|
||||
- sort_node *endp, *tmp_list = sort_list;
|
||||
+ sort_node *endp, *tmp_list;
|
||||
const format_struct *incoming;
|
||||
|
||||
if(!sort_list) { /* assume start time order */
|
||||
--
|
||||
GitLab
|
||||
|
||||
@ -0,0 +1,63 @@
|
||||
From 09fbd70de33c451dde84254718ded2ccac48aed4 Mon Sep 17 00:00:00 2001
|
||||
From: Jim Warner <james.warner@comcast.net>
|
||||
Date: Wed, 20 Sep 2023 00:00:00 -0500
|
||||
Subject: [PATCH] ps: don't lose tasks when --sort used with forest mode
|
||||
|
||||
In an issue cited below the loss of tasks was revealed
|
||||
whenever the --sort option is used in combination with
|
||||
forest mode. One could argue against such combinations
|
||||
and print an error. But we'll take an easier approach.
|
||||
|
||||
This patch restores the prior version 3.3.17 behavior.
|
||||
|
||||
Reference(s):
|
||||
https://gitlab.com/procps-ng/procps/-/issues/304
|
||||
|
||||
Signed-off-by: Jim Warner <james.warner@comcast.net>
|
||||
---
|
||||
src/ps/display.c | 15 ++++++++-------
|
||||
1 file changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/src/ps/display.c b/src/ps/display.c
|
||||
index e1a3b0da..325edf38 100644
|
||||
--- a/src/ps/display.c
|
||||
+++ b/src/ps/display.c
|
||||
@@ -357,12 +357,12 @@ next_proc:
|
||||
|
||||
/***** forest output requires sorting by ppid; add start_time by default */
|
||||
static void prep_forest_sort(void){
|
||||
- sort_node *tmp_list = sort_list;
|
||||
+ sort_node *endp, *tmp_list = sort_list;
|
||||
const format_struct *incoming;
|
||||
|
||||
if(!sort_list) { /* assume start time order */
|
||||
- incoming = search_format_array("ppid");
|
||||
- if(!incoming) { fprintf(stderr, _("could not find ppid\n")); exit(1); }
|
||||
+ incoming = search_format_array("start_time");
|
||||
+ if(!incoming) { fprintf(stderr, _("could not find start_time\n")); exit(1); }
|
||||
tmp_list = xmalloc(sizeof(sort_node));
|
||||
tmp_list->reverse = PIDS_SORT_ASCEND;
|
||||
tmp_list->typecode = '?'; /* what was this for? */
|
||||
@@ -371,14 +371,15 @@ static void prep_forest_sort(void){
|
||||
sort_list = tmp_list;
|
||||
}
|
||||
/* this is required for the forest option */
|
||||
- incoming = search_format_array("start_time");
|
||||
- if(!incoming) { fprintf(stderr, _("could not find start_time\n")); exit(1); }
|
||||
+ incoming = search_format_array("ppid");
|
||||
+ if(!incoming) { fprintf(stderr, _("could not find ppid\n")); exit(1); }
|
||||
tmp_list = xmalloc(sizeof(sort_node));
|
||||
tmp_list->reverse = PIDS_SORT_ASCEND;
|
||||
tmp_list->typecode = '?'; /* what was this for? */
|
||||
tmp_list->sr = incoming->sr;
|
||||
- tmp_list->next = sort_list;
|
||||
- sort_list = tmp_list;
|
||||
+ tmp_list->next = NULL;
|
||||
+ endp = sort_list; while(endp->next) endp = endp->next;
|
||||
+ endp->next = tmp_list;
|
||||
}
|
||||
|
||||
/* we rely on the POSIX requirement for zeroed memory */
|
||||
--
|
||||
GitLab
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
Name: procps-ng
|
||||
Version: 4.0.4
|
||||
Release: 3
|
||||
Release: 4
|
||||
Summary: Utilities that provide system information.
|
||||
License: GPL+ and GPLv2 and GPLv2+ and GPLv3+ and LGPLv2+
|
||||
URL: https://sourceforge.net/projects/procps-ng/
|
||||
@ -13,6 +13,8 @@ Patch1: openeuler-add-M-and-N-options-for-top.patch
|
||||
Patch2: openeuler-top-exit-with-error-when-pid-overflow.patch
|
||||
Patch3: backport-library-address-remaining-cpu-distortions-stat-api.patch
|
||||
Patch4: backport-uptime-fix-output-on-60-seconds.patch
|
||||
Patch5: backport-ps-don-t-lose-tasks-when-sort-used-with-forest-mode.patch
|
||||
Patch6: backport-acknowledge-fix-for-the-lost-tasks-ps-issue.patch
|
||||
|
||||
BuildRequires: ncurses-devel libtool autoconf automake gcc gettext-devel systemd-devel
|
||||
|
||||
@ -95,6 +97,9 @@ ln -s %{_bindir}/pidof %{buildroot}%{_sbindir}/pidof
|
||||
%{_mandir}/man*
|
||||
|
||||
%changelog
|
||||
* Thu Apr 25 2024 yinyongkang <yinyongkang@kylinos.cn> - 4.0.4-4
|
||||
- ps: don't lose tasks when --sort used with forest mode
|
||||
|
||||
* Tue Apr 23 2024 yinyongkang <yinyongkang@kylinos.cn> - 4.0.4-3
|
||||
- uptime: fix output on 60 seconds
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user