diff options
Diffstat (limited to 'core/procps/procps-3.2.8-threads.patch')
-rw-r--r-- | core/procps/procps-3.2.8-threads.patch | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/core/procps/procps-3.2.8-threads.patch b/core/procps/procps-3.2.8-threads.patch deleted file mode 100644 index 2491aa4c0..000000000 --- a/core/procps/procps-3.2.8-threads.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -up procps-3.2.8/top.c.threads procps-3.2.8/top.c ---- procps-3.2.8/top.c.threads 2009-10-01 07:14:43.000000000 -0400 -+++ procps-3.2.8/top.c 2009-10-05 14:05:00.000000000 -0400 -@@ -1138,6 +1138,7 @@ static proc_t **procs_refresh (proc_t ** - #define ENTsz sizeof(proc_t) - static unsigned savmax = 0; // first time, Bypass: (i) - proc_t *ptsk = (proc_t *)-1; // first time, Force: (ii) -+ proc_t *saved_ptsk; - unsigned curmax = 0; // every time (jeeze) - PROCTAB* PT; - static int show_threads_was_enabled = 0; // optimization -@@ -1172,6 +1173,10 @@ static proc_t **procs_refresh (proc_t ** - while (curmax < savmax) { - proc_t *ttsk; - if (unlikely(!(ptsk = readproc(PT, NULL)))) break; -+ if(!show_threads_was_enabled) -+ saved_ptsk = ptsk; -+ else -+ saved_ptsk = NULL; - show_threads_was_enabled = 1; - while (curmax < savmax) { - unsigned idx; -@@ -1189,7 +1194,7 @@ static proc_t **procs_refresh (proc_t ** - prochlp(ttsk); - ++curmax; - } -- free(ptsk); // readproc() proc_t not used -+ if(!saved_ptsk) free(ptsk); // readproc() proc_t not used - } - } - -@@ -1208,7 +1213,8 @@ static proc_t **procs_refresh (proc_t ** - else { // show each thread in a process separately - while (ptsk) { - proc_t *ttsk; -- if (likely(ptsk = readproc(PT, NULL))) { -+ if (likely(ptsk = readproc(PT, NULL)) || -+ unlikely(saved_ptsk && (ptsk = saved_ptsk)) ) { - show_threads_was_enabled = 1; - while (1) { - table = alloc_r(table, (curmax + 1) * PTRsz); -@@ -1216,6 +1222,7 @@ static proc_t **procs_refresh (proc_t ** - prochlp(ttsk); - table[curmax++] = ttsk; - } -+ saved_ptsk = NULL; - free(ptsk); // readproc() proc_t not used - } - } |