library: correct the #define FALSE_THREADS, <PIDS> api
Awhile back, that former QUICK_THREADS #define evolved
into the development (only) FALSE_THREADS which can be
used to ensure a 'duplicate ENUM' convention is output
when certain string fields can't be easily duplicated.
Unfortunately, that original implementation was marred
with zeros being displayed for /proc/$$/meminfo fields
in all the child threads for a multi-threaded process.
So this commit corrects that zero memory field buglet.
Reference(s):
. QUICK_THREADS becomes FALSE_THREADS
commit c546d9dd44
Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
@ -989,11 +989,9 @@ static proc_t* simple_readtask(PROCTAB *restrict const PT, const proc_t *restric
|
|||||||
MK_THREAD(t);
|
MK_THREAD(t);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef FALSE_THREADS
|
|
||||||
if (flags & PROC_FILLMEM) // read /proc/#/task/#statm
|
if (flags & PROC_FILLMEM) // read /proc/#/task/#statm
|
||||||
if (file2str(path, "statm", &ub) != -1)
|
if (file2str(path, "statm", &ub) != -1)
|
||||||
statm2proc(ub.buf, t);
|
statm2proc(ub.buf, t);
|
||||||
#endif
|
|
||||||
|
|
||||||
if (flags & PROC_FILLSTATUS) { // read /proc/#/task/#/status
|
if (flags & PROC_FILLSTATUS) { // read /proc/#/task/#/status
|
||||||
if (file2str(path, "status", &ub) != -1) {
|
if (file2str(path, "status", &ub) != -1) {
|
||||||
@ -1029,10 +1027,6 @@ static proc_t* simple_readtask(PROCTAB *restrict const PT, const proc_t *restric
|
|||||||
|
|
||||||
#ifdef FALSE_THREADS
|
#ifdef FALSE_THREADS
|
||||||
if (!p) {
|
if (!p) {
|
||||||
if (flags & PROC_FILLMEM)
|
|
||||||
if (file2str(path, "statm", &ub) != -1)
|
|
||||||
statm2proc(ub.buf, t);
|
|
||||||
|
|
||||||
if (flags & PROC_FILLSUPGRP)
|
if (flags & PROC_FILLSUPGRP)
|
||||||
supgrps_from_supgids(t);
|
supgrps_from_supgids(t);
|
||||||
#endif
|
#endif
|
||||||
@ -1056,14 +1050,6 @@ static proc_t* simple_readtask(PROCTAB *restrict const PT, const proc_t *restric
|
|||||||
|
|
||||||
#ifdef FALSE_THREADS
|
#ifdef FALSE_THREADS
|
||||||
} else {
|
} else {
|
||||||
if (t != p) {
|
|
||||||
t->size = p->size;
|
|
||||||
t->resident = p->resident;
|
|
||||||
t->share = p->share;
|
|
||||||
t->trs = p->trs;
|
|
||||||
t->lrs = p->lrs;
|
|
||||||
t->drs = p->drs;
|
|
||||||
t->dt = p->dt;
|
|
||||||
t->cmdline = NULL;
|
t->cmdline = NULL;
|
||||||
t->cmdline_v = NULL;
|
t->cmdline_v = NULL;
|
||||||
t->environ = NULL;
|
t->environ = NULL;
|
||||||
@ -1081,7 +1067,6 @@ static proc_t* simple_readtask(PROCTAB *restrict const PT, const proc_t *restric
|
|||||||
t->sd_unit = NULL;
|
t->sd_unit = NULL;
|
||||||
t->sd_uunit = NULL;
|
t->sd_uunit = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (flags & PROC_FILLOOM) {
|
if (flags & PROC_FILLOOM) {
|
||||||
|
Reference in New Issue
Block a user