]> granicus.if.org Git - procps-ng/log
procps-ng
7 years agoIncrease standard I/O buffer a lot to be able to
Werner Fink [Fri, 7 Jul 2017 12:09:11 +0000 (14:09 +0200)]
Increase standard I/O buffer a lot to be able to

read huge informations at once as otherwise all files below
/proc/sys, not using the seq_file API at the kernel side,
will return EOF on a second read.

Signed-off-by: Werner Fink <werner@suse.de>
7 years agoFix out of boundary write on 1x1 terminals
Tobias Stoeckmann [Sun, 19 Feb 2017 15:12:42 +0000 (15:12 +0000)]
Fix out of boundary write on 1x1 terminals

If a terminal is merely 1x1 in size, setsize() will write a nul byte in
front of the allocated memory, which is an out of boundary write.

7 years agotop: protect against the anomalous 'Mem' graph display
Jim Warner [Thu, 17 Aug 2017 06:11:11 +0000 (01:11 -0500)]
top: protect against the anomalous 'Mem' graph display

Until this patch, top falsely assumed that there would
always be some (small) amount of physical memory after
subtracting 'used' and 'available' from the total. But
as the issue referenced below attests, a sum of 'used'
and 'available' might exceed that total memory amount.

I'm not sure if this is a problem with our calculation
of the 'used' amount, a flaw in the kernel 'available'
algorithms or some other reason I cannot even imagine.

Anyway, this patch protects against such a contingency
through the following single line addition of new code
. if (pct_used + pct_misc > 100.0 || pct_misc < 0) ...

The check for less than zero is not actually necessary
as long as the source numbers remain unsigned. However
should they ever become signed, we'll have protection.

[ Most of the changes in this commit simply separate ]
[ a variable's definition from its associated logic. ]

Reference(s):
https://gitlab.com/procps-ng/procps/issues/64

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: address a Debian wishlist NLS man page suggestion
Jim Warner [Sun, 13 Aug 2017 05:00:00 +0000 (00:00 -0500)]
top: address a Debian wishlist NLS man page suggestion

Reference(s):
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=865689

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agoNEWS: add issue and bugzilla references where possible
Jim Warner [Thu, 10 Aug 2017 05:00:00 +0000 (00:00 -0500)]
NEWS: add issue and bugzilla references where possible

And we repositioned the kill line (Debian #854407) for
alphabetic integrity and conformance with newlib NEWS.

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: refresh interval accepts non-locale decimal value
Jan Rybar [Sat, 5 Aug 2017 22:00:00 +0000 (00:00 +0200)]
top: refresh interval accepts non-locale decimal value

For the past 3 years top has fully honored that locale
LC_NUMERIC setting which impacts his refresh interval.
For the past nearly 5 years top has saved that refresh
value in a locale independent form in his config file.

With this commit we'll intentionally break top so that
a comma or period will be accepted for the radix point
regardless of what that LC_NUMERIC may have suggested.

The current locale LC_NUMERIC will, however, determine
how the delay interval is displayed in the 'd' prompt.

[ This position is better than the approach employed ]
[ by those coreutils 'sleep' and 'timeout' programs. ]
[ Both claim to permit floating point arguments. But ]
[ neither one will accept the comma separator should ]
[ the locale be a country that in fact uses a comma. ]

Reference(s):
https://gitlab.com/procps-ng/procps/merge_requests/50

Prototyped by: Jan Rybar <jrybar@redhat.com>
Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: fixing command line parsing errors is now a habit
Jim Warner [Wed, 21 Jun 2017 01:20:20 +0000 (20:20 -0500)]
top: fixing command line parsing errors is now a habit

Ok, I admit it. I'm now tired of cleaning up after me.

This is the 3rd related tweak after that '-1' argument
was originally introduced. And with this patch we will
once again properly honor the '-o' and '-u|U' switches
without a need to be followed by an additional switch.

[ one can follow my unfortunate trail of alterations ]
[ beginning with my most recent fix referenced below ]

Reference(s):
commit 4b44aebd807bd132c14df20eabff2f2e9628ef97

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: ensure necessary proc_t support if '-U' filtering
Jim Warner [Thu, 15 Jun 2017 17:00:00 +0000 (12:00 -0500)]
top: ensure necessary proc_t support if '-U' filtering

While the effective user id would always be present in
each proc_t, thus supporting 'u' filtering, other user
ids would only be present if /proc/$$/status was read.

This commit just puts the 'master' branch top on a par
with the 'newlib' branch when user filtering with 'U'.

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: correct functioning of the '-p' command line args
Jim Warner [Mon, 22 May 2017 17:00:00 +0000 (12:00 -0500)]
top: correct functioning of the '-p' command line args

With the introduction of a new '1' command line toggle
I have gone and broken a provision of the '-p' command
line switch (pids monitoring). Multiple pids could not
be specified through the use of comma delimited lists.

Thus, this commit simply corrects that newly added bug
which was born in the 'adjustment' commit shown below.

Reference(s):
. adjustment to '-1' implementation
commit 909b37d755fe22ee75b3115d4d402cf5f70708ae

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agosysctl: Print lines longer than 1024 chars
Werner Fink [Mon, 22 May 2017 12:31:34 +0000 (22:31 +1000)]
sysctl: Print lines longer than 1024 chars

as well do not open /proc/sys files if only the names of the
system control names of the kernel parameters should be shown.
Avoid leaking tmpname in case of a pattern mismatch.

Signed-off-by: Werner Fink <werner@suse.de>
7 years agotop: address the argument parsing quirk involving '-h'
Jim Warner [Wed, 17 May 2017 05:00:00 +0000 (00:00 -0500)]
top: address the argument parsing quirk involving '-h'

There exists the possibility that a 'putp' call can be
issued before the 'setupterm' invocation has occurred,
as is reflected in a bugzilla report referenced below.

Strangely, such a SEGV isn't always triggered as logic
would suggest it ought to be. I experienced a fault in
these environments with the associated curses version:
. archlinux, procps-ng 3.3.12, ncurses 6.0.20170429
. fedora-25, procps-ng 3.3.10, ncurses 6.0.20160709
. opensuse-42.2, procps-ng 3.3.9, ncurses 5.9.20140201
. gentoo, procps-ng 3.3.12, ncurses 6.0.20150808
. slackw-14.2, procps-ng 3.3.12, ncurses 6.0.20160910

Whereas under these environments there was no problem:
. ubuntu-17.04, procps-ng 3.3.12, ncurses 6.0.20160625
. debian-test, procps-ng 3.3.12, ncurses 6.0.20161126
. mageia-5.1, procps-ng 3.3.9, ncurses 5.9.20140323

[ as an aside, the expected result in the bug report ]
[ is incorrect and should mention the '1' parameter. ]

[ however, until release 3.3.13 when the '1' becomes ]
[ a valid switch, numbers are not detected when used ]
[ with any switch which doesn't require an argument. ]

[ you're welcome to treat that as a separate bugglet ]

Reference(s):
https://bugzilla.redhat.com/show_bug.cgi?id=1450429

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agoNEWS: update/alphabetize enhancements for next release
Jim Warner [Sat, 13 May 2017 05:05:00 +0000 (00:05 -0500)]
NEWS: update/alphabetize enhancements for next release

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agops: have now added the NUMA node field display support
Jim Warner [Sat, 13 May 2017 05:04:00 +0000 (00:04 -0500)]
ps: have now added the NUMA node field display support

[ this patch has been adapted from the newlib branch ]

Reference(s):
https://gitlab.com/procps-ng/procps/issues/58

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: now includes that NUMA node field display support
Jim Warner [Sat, 13 May 2017 05:03:00 +0000 (00:03 -0500)]
top: now includes that NUMA node field display support

[ this patch has been adapted from the newlib branch ]

Reference(s):
https://gitlab.com/procps-ng/procps/issues/58

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agolibrary: set stage for NUMA node field display support
Jim Warner [Sat, 13 May 2017 05:02:00 +0000 (00:02 -0500)]
library: set stage for NUMA node field display support

In response to that suggestion referenced below, these
changes allow display of task/thread level NUMA nodes.

Currently, only the 'top' program offers any NUMA type
support and it is limited to the Summary Area display.
With this commit both the 'top' and 'ps' programs will
be able to display NUMA nodes associated with threads.

[ this patch has been adapted from the newlib branch ]
[ and implemented so as to preserve the existing ABI ]

Reference(s):
https://gitlab.com/procps-ng/procps/issues/58

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agomisc: eliminate all those remaining gcc -Wall warnings
Jim Warner [Sat, 13 May 2017 05:01:00 +0000 (00:01 -0500)]
misc: eliminate all those remaining gcc -Wall warnings

Reference(s):
proc/readproc.c: In function 'statm2proc'
proc/readproc.c:627:9: warning: variable 'num' set but not used [-Wunused-but-set-variable]

ps/output.c: In function 'pr_context':
ps/output.c:1273:14: warning: unused variable 'tried_load' [-Wunused-variable]
ps/output.c:1272:16: warning: unused variable 'ps_is_selinux_enabled' [-Wunused-variable]
ps/output.c:1272:16: warning: 'ps_is_selinux_enabled' defined but not used [-Wunused-variable]
ps/output.c:1273:14: warning: 'tried_load' defined but not used [-Wunused-variable]
ps/output.c:1837:18: warning: 'shortsort_array_count' defined but not used [-Wunused-const-variable=]
ps/output.c:1803:18: warning: 'aix_array_count' defined but not used [-Wunused-const-variable=]

ps/parser.c: In function 'arg_type':
ps/parser.c:1098:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
ps/parser.c:1099:34: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'

ps/sortformat.c: In function 'format_parse':
ps/sortformat.c:241:1: warning: label 'out' defined but not used [-Wunused-label]

ps/stacktrace.c:176:13: warning: 'stack_trace_sigsegv' defined but not used [-Wunused-function]

watch.c: In function 'process_ansi':
watch.c:234:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
watch.c:237:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: correct man page alphabetical order for -E switch
Jim Warner [Sat, 13 May 2017 05:00:00 +0000 (00:00 -0500)]
top: correct man page alphabetical order for -E switch

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: provide more accurate cpu usage stats for startup
Jim Warner [Thu, 23 Mar 2017 05:00:00 +0000 (00:00 -0500)]
top: provide more accurate cpu usage stats for startup

The top program already incorporated a modest delay at
startup so that some minimal process cpu history could
be established. However, Summary Area system level cpu
statistic history reflected usage since boot. As such,
unchanging % values would be shown with every restart.

This commit just adopts the same approach used in task
%CPU history for the Summary Area statistics. In other
words, it introduces a 'priming read' at startup as is
found in the newlib implementation for the <stat> API.

Reference(s):
https://gitlab.com/procps-ng/procps/merge_requests/42

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: make command line switch parsing even more robust
Jim Warner [Mon, 20 Mar 2017 05:00:00 +0000 (00:00 -0500)]
top: make command line switch parsing even more robust

This program has always tried to maintain an extermely
robust command line parsing procedure, far more robust
that what's available with the getopt stuff. But, with
the introduction of our first numeric switch it should
have been made even more robust than, in fact, it was.

This commit will now accomplish such a desirable goal.

Reference(s):
. added '1' command line switch
commit 89db82d143d005dcc0b8af1bc1f3b1204c88730a

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: just update all of the copyright dates in sources
Jim Warner [Sun, 12 Mar 2017 05:00:00 +0000 (00:00 -0500)]
top: just update all of the copyright dates in sources

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: by default, show cmd line vs. cmd name at startup
Jim Warner [Sat, 11 Mar 2017 05:00:00 +0000 (00:00 -0500)]
top: by default, show cmd line vs. cmd name at startup

All of top's display was designed to fit into an 80x24
terminal. This includes the help screens plus both the
Summary and Task Areas, assuming no saved config file.

With release 3.3.10, the startup defaults were changed
assuming ./configure --disable-modern-top wasn't used.
This was done in the hope of introducing some users to
unknown capabilities such as colors, forest view, etc.

The purpose of this commit is to coax a few more users
into possibly exploring another capability: scrolling.
We do so by tweaking the default startup display so as
to show full command lines. Now, when things no longer
fit in 80x24, horizontal scrolling might be exploited.

[ of course, this can be reversed with the -c switch ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: provide -1 command line switch as 'Cpu(s)' toggle
Jim Warner [Fri, 10 Mar 2017 06:00:00 +0000 (00:00 -0600)]
top: provide -1 command line switch as 'Cpu(s)' toggle

If built without ./configure --disable-modern-top, the
program displays each cpu individually providing there
is sufficient vertical screen real estate. For massive
SMP environments this will necessitate use of a config
file where the cpu summary toggle ('1') could be saved
via the 'W' command. But, an rcfile may not be viable.

So this commit introduces a '1' command line switch to
emulate exactly the effects of the interactive toggle.

And since it is our first numeric switch some existing
parsing logic had to be changed slightly. Such changes
are, in truth, an improvement. For example, instead of
seeing "inappropriate '2'" with ./top -2 we'll now see
the vastly more appropriate error "unknown option '2'.

References(s):
https://gitlab.com/procps-ng/procps/issues/55

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: provide -E command line switch for memory scaling
Jim Warner [Thu, 9 Mar 2017 06:00:00 +0000 (00:00 -0600)]
top: provide -E command line switch for memory scaling

In their 3.2.7 version of top, Redhat introduced an -M
switch to automatically scale Summary Area memory data
to avoid truncation (and the resulting '+' indicator).

The procps-ng top does not employ suffixes with memory
data nor does it allow for different scaling with each
separate value. Rather, scaling appears at line start.

If built without ./configure --disable-modern-top, the
Summary Area memory will be scaled at GiB which should
lessen chance of truncation. Otherwise KiB was used to
reflect such memory, increasing the truncation chance.

And while 'W' can be used to preserve some appropriate
scaling value, there are arguments against such rcfile
approaches as cited in the issue and bug report below.

So this commit will bump the Summary Area memory scale
factor from KiB to MiB when using --disable-modern-top
as a concession to that Redhat bug report noted below.

And it also introduces a new command line switch which
can force any desired scaling regardless of the rcfile
or which ./configure option might have been specified.

[ for top's help text we'll show 'E' as if it were a ]
[ switch without arguments in order to keep the help ]
[ text displayable without wrap in an 80x24 terminal ]

[ the man page, however, will show all k-e arguments ]

Reference(s):
https://gitlab.com/procps-ng/procps/issues/53
https://bugzilla.redhat.com/show_bug.cgi?id=1034466

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: show fewer decimal places for memory (by default)
Jim Warner [Wed, 8 Mar 2017 06:00:00 +0000 (00:00 -0600)]
top: show fewer decimal places for memory (by default)

After much reflection I've come to the conclusion that
displaying 3 decimal places (usually) when memory data
had been scaled is no longer optimal with today's ever
increasing amounts. And given that not all task memory
fields are the same widths, inconsistencies can easily
arise as illustrated and discussed in the issue below.

Instead of unilaterally reducing the number of decimal
places, this commit will sneak in such a change via an
existing configure option that was very likely unused.

The former 'disable-wide-memory' option has now become
'enable-wide-memory', which can be used if the current
behavior (3 decimal places) is preferred. Without that
option, whenever memory is scaled beyond KiB, just one
decimal place will be shown in Summary and Task areas.

And Task area field width will no longer be changed by
this revised configure option. Instead, all such field
widths will now be fixed at the former maximum values.

Reference(s):
https://gitlab.com/procps-ng/procps/issues/50

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agotop: correct alphabetic ordering with some enumerators
Jim Warner [Tue, 7 Mar 2017 06:00:00 +0000 (00:00 -0600)]
top: correct alphabetic ordering with some enumerators

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agokill: a better option parser
Craig Small [Tue, 7 Feb 2017 11:37:36 +0000 (22:37 +1100)]
kill: a better option parser

The previous commit would not work in newlib. Further investigation
found a better way of parsing this extra option using optind

References:
 commit 536cea324b121f54744369425332c256aa84a181

7 years agokill: -l space between name parses correctly
Craig Small [Tue, 7 Feb 2017 11:05:18 +0000 (22:05 +1100)]
kill: -l space between name parses correctly

kill -lHUP would work correctly, but kill -l HUP would not.

The list option in kill was hit by a quirk of getopt_long where an
option with an optional argument would not attempt to get the argument
beyond the space, even though a mandatory argument would do that.

The fix is a kludge to scan to the next argument and if it looks
like something we can use, use it. Lucky for us, the list option is
one where parsing can stop immediately.

Thanks to Brian Vandenberg for the way forward.

References:
 http://stackoverflow.com/questions/1052746/getopt-does-not-parse-optional-arguments-to-parameters
 https://bugs.debian.org/854407

7 years agopkill: Return 0 if successfully killed process
Craig Small [Sat, 4 Feb 2017 00:44:01 +0000 (11:44 +1100)]
pkill: Return 0 if successfully killed process

Original report:
When trying kill a process with insufficient privileges (see blow),
pkill displays the error message “... failed: Operation not permitted”,
but returns 0. Surely it should return 3?

$ pkill syslogd ; echo $?
pkill: killing pid 373 failed: Operation not permitted
0

Return value 0 means one of more things matched. For a pgrep (which
shares code with pkill) this makes sense, there was a match. It seems
wrong for pkill to return 0 when it in fact could not do what you told
it to.  However return value 3 means a fatal error and it's not fatal.

Looking at other programs when trying to kill things it cannot kill.
shell kill returns 1, procps kill returns 1, killall returns 1, skill
returns 0 (and says it was successful!, ah well poor old skill)

The consensus seems to be that you return 1 if you cannot kill it, even
if you found it. In other words the return value for both not found and
not able to kill it is the same.

pkill only returns 0 if something was killed. This means we found a
match AND the kill() system call worked too.

References:
 https://bugs.debian.org/852758

Signed-off-by: Craig Small <csmall@enc.com.au>
7 years agoNEWS: Very minor typo fixed
Craig Small [Sat, 4 Feb 2017 00:06:02 +0000 (11:06 +1100)]
NEWS: Very minor typo fixed

Signed-off-by: Craig Small <csmall@enc.com.au>
7 years agoNEWS: updated with the two most recent program changes
Jim Warner [Thu, 26 Jan 2017 06:00:00 +0000 (00:00 -0600)]
NEWS: updated with the two most recent program changes

[ in addition to program changes, this file has been ]
[ made to agree with that NEWS file under our newlib ]
[ branch since some entries were ordered differently ]
[ due to differences in the order of actual commits. ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agopgrep: warning about 15+ chars name only if zero matches
Jan Rybar [Thu, 26 Jan 2017 05:35:33 +0000 (16:35 +1100)]
pgrep: warning about 15+ chars name only if zero matches

pgrep: warning about 15+ chars name only if zero matches found This avoids situations where longer regex which matches short-named proc is used. Test for pgrep updated.

References:
 'pgrep_long_pattern_warn' of https://gitlab.com/jrybar/procps:

7 years agotop: Add unobtrusive XDG support
Earnestly [Wed, 11 Jan 2017 19:18:39 +0000 (19:18 +0000)]
top: Add unobtrusive XDG support

By default the file HOME/.toprc will be prefered.  This ensures there
should be minimal breakage even if this file is later created by some
other means.  Otherwise we will follow the new behaviour described by
the XDG Base Directory Specification:

If the XDG_CONFIG_HOME environment variable is available we will attempt
to use this as XDG_CONFIG_HOME/procps/toprc otherwise we will fall-back
to HOME/.config/procps/toprc instead.

Signed-off-by: Earnestly <zibeon@gmail.com>
7 years agoMerge branch 'master' of gitlab.com:procps-ng/procps
Craig Small [Tue, 3 Jan 2017 21:18:17 +0000 (08:18 +1100)]
Merge branch 'master' of gitlab.com:procps-ng/procps

7 years agotop: make for consistent & enhanced cpu % calculations
Jim Warner [Mon, 26 Dec 2016 13:07:07 +0000 (07:07 -0600)]
top: make for consistent & enhanced cpu % calculations

That issue cited below prompted some changes under the
newlib branch to standardize the calculation involving
busy, idle, user & system accumulated plus delta tics.

This patch will bring our master branch version of top
into agreement with that newlib version which exploits
some of those newly added library extended provisions.

Reference(s):
https://gitlab.com/procps-ng/procps/issues/48

Signed-off-by: Jim Warner <james.warner@comcast.net>
7 years agopgrep: warning about 15+ chars name only if zero matches found
Jan Rybar [Tue, 22 Nov 2016 16:42:54 +0000 (17:42 +0100)]
pgrep: warning about 15+ chars name only if zero matches found
This avoids situations where longer regex which matches short-named proc is used.
Test for pgrep updated.

8 years agoMerge branch 'fix-99d71ad' into 'master'
Jan Rybar [Tue, 20 Dec 2016 15:01:18 +0000 (15:01 +0000)]
Merge branch 'fix-99d71ad' into 'master'

Fix 99d71ad

My previous patch has a regression. Please merge the fix of regression.

This is based on the following post.
http://www.freelists.org/post/procps/fix-regression-created-by-99d71ad

See merge request !29

8 years agops: provide 'namespace' protection for 32-bit compiles
Jim Warner [Sat, 3 Dec 2016 10:05:06 +0000 (04:05 -0600)]
ps: provide 'namespace' protection for 32-bit compiles

This patch ensures that namespace output will look the
same whether ps is built under a 32 or a 64-bit model.

[ it would have been easier to change that library's ]
[ data type, but we'll avoid breaking that ABI again ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agops: now made responsive to 32 or 64-bit address widths
Jim Warner [Fri, 2 Dec 2016 07:02:03 +0000 (01:02 -0600)]
ps: now made responsive to 32 or 64-bit address widths

While a Debian bug report referenced below was limited
to the 'eip' and 'esp' fields, this patch also extends
address width adaptations to some other addresses too.

[ and, we do so in a far less invasive manner than a ]
[ redhat approach shown below adding two new fields! ]

Reference(s):
. new debian bug report
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=846361
. old redhat solution
https://bugzilla.redhat.com/show_bug.cgi?id=244152

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agomisc: remove some trailing whitespace newly introduced
Jim Warner [Thu, 24 Nov 2016 18:12:12 +0000 (12:12 -0600)]
misc: remove some trailing whitespace newly introduced

The commit (merge) referenced below added some useless
trailing whitespace, and this patch will correct such.

[ this also updates the NEWS file for the buglet fix ]

Gosh, if folks cannot coax their editors into avoiding
such crap they should remove the '.sample' suffix from
their '.git/hooks/pre-commit.sample' file. Thereafter,
git itself will reject changes with whitespace errors.

Reference(s):
commit cc1f49aebacbe0a9b3f12744fd596669ffdb45aa

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agotop: accumulated misc tweaks to code/comments/man page
Jim Warner [Wed, 23 Nov 2016 16:11:11 +0000 (11:11 -0500)]
top: accumulated misc tweaks to code/comments/man page

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agoMerge branch 'ps_remove_wchan_strip' into 'master'
Jan Rybar [Wed, 23 Nov 2016 12:05:28 +0000 (12:05 +0000)]
Merge branch 'ps_remove_wchan_strip' into 'master'

ps: removed stripping of prefixes off wchan data

Implementation of what was settled on ML discussion: http://www.freelists.org/post/procps/ps-wchanf-option
'ps' does not remove "do_" and "sys_" prefixes from wchan data.

Resolves Red Hat Bugzilla #1322111

See merge request !33

8 years agops: removed stripping of prefixes off wchan data
Jan Rybar [Tue, 22 Nov 2016 15:58:14 +0000 (16:58 +0100)]
ps: removed stripping of prefixes off wchan data
resolves Red Hat Bugzilla #1322111

8 years agoMerge branch 'master' into 'master'
Craig Small [Mon, 21 Nov 2016 10:56:00 +0000 (10:56 +0000)]
Merge branch 'master' into 'master'

ps: recognize SCHED_DEADLINE

See merge request !31

8 years agops: recognize SCHED_DEADLINE
Martin Polednik [Mon, 7 Nov 2016 09:23:01 +0000 (10:23 +0100)]
ps: recognize SCHED_DEADLINE

8 years agotop: make that 'forest view' just a tad more efficient
Jim Warner [Sat, 8 Oct 2016 15:10:10 +0000 (10:10 -0500)]
top: make that 'forest view' just a tad more efficient

It makes no sense to begin our tracked nested level at
'1' then later require a '1' to be subtracted from the
level as artwork and indentation is added for display.

By beginning such tracked levels at zero, we can avoid
the need to adjust it & use it directly in a snprintf.

[ this commit parallels a patch in our newlib branch ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agolibprocps: use float to calculate %use of slabtop
Takayuki Nagata [Thu, 4 Aug 2016 09:06:06 +0000 (18:06 +0900)]
libprocps: use float to calculate %use of slabtop

In some environments, 100 * nr_active_objs is calculated at first,
and the result of lower 32bits is divided by nr_objs. This occurs
even in a 64-bit architecture. So nr_active_objes > 42949672, %use
will be incorrect.

This fix casts type of nr_active_objs to float to calculate
correctly the %use in 32-bit/64-bit architectures.

Signed-off-by: Takayuki Nagata <tnagata@redhat.com>
8 years agoRevert "bprocps: fix order of operations for %use of slabinfo"
Takayuki Nagata [Wed, 27 Jul 2016 08:29:15 +0000 (17:29 +0900)]
Revert "bprocps: fix order of operations for %use of slabinfo"

This reverts commit 99d71ad5810b8fbfab5c4c6be97f3e86953b6157.

When nr_active_objs / nr_objs is calculated, the result will be 1
or 0 since the variables are integer. So the commit is wrong.

8 years agotop: just some minor tweaks to the man document (only)
Jim Warner [Thu, 29 Sep 2016 06:11:11 +0000 (01:11 -0500)]
top: just some minor tweaks to the man document (only)

This patch just parallels some adjustments/corrections
which were also implemented under the 'newlib' branch.

[ remaining differences between man documents relate ]
[ to old kernels with topic '2b. TASK and CPU State' ]
[ and a note in '4c. SORTING' for TTY + WCHAN fields ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agomisc: remove some newly introduced trailing whitespace
Jim Warner [Wed, 21 Sep 2016 12:07:07 +0000 (07:07 -0500)]
misc: remove some newly introduced trailing whitespace

Maybe some folks still need a few .gitconfig tweaks to
catch the trailing whitespace errors a little earlier.

Or, at the least, after a local commit they should do:
$ git diff HEAD~1

[ and then check if git marks any with his red blobs ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agoMerge branch 'sysctl_manpage_extnd' into 'master'
Craig Small [Wed, 21 Sep 2016 10:44:03 +0000 (10:44 +0000)]
Merge branch 'sysctl_manpage_extnd' into 'master'

sysctl.conf manpage - new NOTES section helps variable listing

sysctl.conf manpage now explains what tools to use to list all modifiable variables.

See merge request !28

8 years agoNOTES now contain mention of sysctl(8)
Jan Rybar [Mon, 19 Sep 2016 17:02:47 +0000 (19:02 +0200)]
NOTES now contain mention of sysctl(8)

8 years agosysctl.conf - Adds new NOTES section to manpage with info about all modifiable variables
Jan Rybar [Mon, 19 Sep 2016 14:09:42 +0000 (16:09 +0200)]
sysctl.conf - Adds new NOTES section to manpage with info about all modifiable variables

8 years agotop: finally circumvent that minor libnuma memory leak
Jim Warner [Mon, 12 Sep 2016 21:16:16 +0000 (16:16 -0500)]
top: finally circumvent that minor libnuma memory leak

Still unhappy with a minor memory leak associated with
libnuma, I experimented with omitting the dlclose that
was issued at module's end. For some reason which will
remain a mystery, the valgrind leak then went bye-bye.

So this patch just omits one use of dlclose and relies
on whatever kernel magic is at work to free the memory
when each process ends. We kept, however, the original
code (now commented-out) to serve as a future caution.

There remains one potential (but unlikely) dlclose use
near the original dlopen. But there will be no leak as
that 'numa_node_of_cpu' will not yet have been called.
This seems to be the culprit that triggers such leaks.

None of this libnuma shit would likely have come close
to hitting our fan had the numa developers provided us
with 'new' and 'unref' functions like our newlib does.

[ this commit parallels a patch in our newlib branch ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agopgrep: Fix off by one error in line check
Craig Small [Sun, 11 Sep 2016 00:11:25 +0000 (10:11 +1000)]
pgrep: Fix off by one error in line check

There is now a warning if your command is longer than 15 characters
and therefore can never match. Except it was checking for more than
16 characters.

Adjusted this and added a test case.

References:
 !25
 commit 8e8835b2ee4af7947d5131895ef1719129d3e70d

8 years agoMerge branch 'fifteen_chars_warning' into 'master'
Craig Small [Sun, 11 Sep 2016 00:04:46 +0000 (00:04 +0000)]
Merge branch 'fifteen_chars_warning' into 'master'

pgrep - adds warning that pattern exceeds 15 chars without '-f' option

Resolves many questions seen on forums around the web. Adds a decent warning about the behaviour.<br>
Ideas about better text?

See merge request !25

8 years agoMerge branch 'fix-kill-l-bad-free-sig-prefix' into 'master'
Craig Small [Sat, 10 Sep 2016 23:54:44 +0000 (23:54 +0000)]
Merge branch 'fix-kill-l-bad-free-sig-prefix' into 'master'

kill: Fix free() with bad pointer on SIG-prefixed signal-name

kill -l SIGHUP (or any other signal-name prefixed with "SIG")
would cause free() to be called with a bad pointer instead of
a pointer to what was allocated. Fix this and add test-case.

See merge request !26

8 years agopmap: fix printing bug associated with the '-x' option
Jim Warner [Thu, 8 Sep 2016 16:11:11 +0000 (11:11 -0500)]
pmap: fix printing bug associated with the '-x' option

Ever since its introduction, the 'x' (extended format)
option has employed strncmp to parse those smaps keys.

Such an approach worked well as long as those prefixes
were guaranteed to be unique. But, with the 4.3 kernel
a new 'SwapPss' field was added to those within smaps.

That triggered a 2nd match for the 'Swap' logic which,
in turn, resulted in a duplicate output line of zeros.

So this patch just trades strncmp for strcmp, avoiding
potential future problems when /proc/$$/smaps evolves.

Reference(s):
. recent bug report
https://bugzilla.redhat.com/show_bug.cgi?id=1374061
. linux 4.3 kernel introduces SwapPss
commit 8334b96221ff0dcbde4873d31eb4d84774ed8ed4
. original pmap -x option introduction
commit 380cc1e9082d662d09dd80fcbb73de9dc98b3ea1

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agokill: Fix free() with bad pointer on SIG-prefixed signal-name
Olof Sivertsson [Thu, 8 Sep 2016 06:32:43 +0000 (08:32 +0200)]
kill: Fix free() with bad pointer on SIG-prefixed signal-name

kill -l SIGHUP (or any other signal-name prefixed with "SIG")
would cause free() to be called with a bad pointer instead of
a pointer to what was allocated. Fix this and add test-case.

8 years agopgrep - adds warning that pattern exceeds 15 chars without '-f' option
Jan Rybar [Tue, 6 Sep 2016 16:41:56 +0000 (18:41 +0200)]
pgrep - adds warning that pattern exceeds 15 chars without '-f' option

8 years agolibrary: Don't use SIGPWR on FreeBSD
Jon Boden [Sun, 28 Aug 2016 09:14:32 +0000 (19:14 +1000)]
library: Don't use SIGPWR on FreeBSD

FreeBSD doesn't have SIGPWR so makes no sense in warning and assuming
its 29.

References:
 https://bugs.debian/org/832148

Signed-off-by: Craig Small <csmall@enc.com.au>
8 years agotop: avoid yet more overhead of accessing /proc/status
Jim Warner [Sat, 20 Aug 2016 05:00:00 +0000 (00:00 -0500)]
top: avoid yet more overhead of accessing /proc/status

After discovering those terrible costs associated with
/proc/status vs. /proc/stat, the build_header function
changed to favor the latter for a field found in both.

Well, low-and-behold, this top program still used some
flags that needlessly caused 'status' to still be read
when 'statm' could have served. And, while top's needs
require conversion from pages to KiB, that's still far
less costly than reading that gosh darn 'status' file.

[ this patch parallels similar changes to newlib top ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agotop: when setting library flags favor stat over status
Jim Warner [Sat, 20 Aug 2016 05:00:00 +0000 (00:00 -0500)]
top: when setting library flags favor stat over status

Long ago, in a galaxy far away, top was convinced that
/proc/stat was to be favored over /proc/status if some
field could be satisfied with either. This was done to
avoid extra costs of 64-bit math for 32-bit platforms.

Well, its time to acknowledge the prevalence of 64-bit
platforms. And in such an environment there is a large
hidden cost currently if using status instead of stat.
In fact, that cost difference can be as high as 1400%.

So, this commit will coax top into favoring that least
costly route while also fixing an EU_TGD library flag.

[ this patch parallels similar changes to newlib top ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agolibrary: revert one ancient 'escape_str_utf8' deletion
Jim Warner [Sat, 20 Aug 2016 05:00:00 +0000 (00:00 -0500)]
library: revert one ancient 'escape_str_utf8' deletion

Profiling revealed a large amount of time spent in the
'escape_str_utf8' function (escape.c) with both of our
NLS branches (newlib and master). That same result was
not seen under an ancient top-3.2.8 program & library.

Well, the 3.2.8 result was ultimately explained by the
absence of a 'setlocale', necessary under NLS support.
Thus, when that ancient library tested for locale, all
it got was 'ANSI_...' & assumed 'UTF-8' wasn't active.

But after a hack to that ancient code to place it on a
par with newlib/master, I still found cost differences
that led me to revisit an old change referenced below.

It turns out that 'iswprint' costs far more than would
a call of 'isprint', even with the extra support code.
So this commit just reverts that five year old change.

[ this patch parallels a similar change under newlib ]

Reference(s):
commit 7b0fc19e9d28380dc9790615b93bc3653d6d686e

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agoMerge branch 'free_french_alignment' into 'master'
Craig Small [Tue, 23 Aug 2016 10:44:53 +0000 (10:44 +0000)]
Merge branch 'free_french_alignment' into 'master'

free: french translation alignment

address issue #24

See merge request !13

8 years agoMerge branch 'pkg-config-ncursesw' into 'master'
Craig Small [Mon, 15 Aug 2016 11:16:21 +0000 (11:16 +0000)]
Merge branch 'pkg-config-ncursesw' into 'master'

configure.ac: use pkg-config to get ncursesw header location

Don't assume ncursesw headers are in ../usr/include/ncursesw/..
On a pure build/system without legacy ncurses that may not be true.
Since we're using pkg-config let it provide the correct include path.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
See merge request !23

8 years agoMerge branch 'use-strchr' into 'master'
Craig Small [Mon, 15 Aug 2016 11:13:16 +0000 (11:13 +0000)]
Merge branch 'use-strchr' into 'master'

sysctl.c: use strchr() instead of index()

index() is a legacy function, which is no longer implemented by all C
libraries (example: uClibc). Instead, use the POSIX defined strchr()
function.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
See merge request !22

8 years agoMerge branch 'selinux-dlfcn-fix' into 'master'
Craig Small [Mon, 15 Aug 2016 11:09:13 +0000 (11:09 +0000)]
Merge branch 'selinux-dlfcn-fix' into 'master'

ps/output.c: include <dlfcn.h> only when necessary

dlopen() functionality is only used when SELinux support is enabled, so
<dlfcn.h> only needs to be included when ENABLE_LIBSELINUX is
defined. This fixes the build in configurations where <dlfcn.h> is not
available.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
See merge request !21

8 years agoMerge branch 'find_elf_note_fix' into 'master'
Craig Small [Mon, 15 Aug 2016 11:08:15 +0000 (11:08 +0000)]
Merge branch 'find_elf_note_fix' into 'master'

Fixing invalid reads in find_elf_note due to setenv invocation

Resolves issue on mailing list from 12 Nov 2014 and Red Hat Bugzilla 1163404.

See merge request !20

8 years agoMerge branch 'vmstat_isdev_fix' into 'master'
Craig Small [Mon, 15 Aug 2016 11:06:06 +0000 (11:06 +0000)]
Merge branch 'vmstat_isdev_fix' into 'master'

Fixing is_disk() which mistakes devices with name longer than 20 chars for partitions.

Associated with previous vmstat -d enhancement commit.

See merge request !19

8 years agoconfigure.ac: use pkg-config to get ncursesw header location
Gustavo Zacarias [Sun, 7 Aug 2016 09:35:20 +0000 (11:35 +0200)]
configure.ac: use pkg-config to get ncursesw header location

Don't assume ncursesw headers are in ../usr/include/ncursesw/..
On a pure build/system without legacy ncurses that may not be true.
Since we're using pkg-config let it provide the correct include path.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agosysctl.c: use strchr() instead of index()
Yann E. MORIN [Sun, 7 Aug 2016 09:31:25 +0000 (11:31 +0200)]
sysctl.c: use strchr() instead of index()

index() is a legacy function, which is no longer implemented by all C
libraries (example: uClibc). Instead, use the POSIX defined strchr()
function.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agops/output.c: include <dlfcn.h> only when necessary
Thomas Petazzoni [Sun, 7 Aug 2016 09:08:26 +0000 (11:08 +0200)]
ps/output.c: include <dlfcn.h> only when necessary

dlopen() functionality is only used when SELinux support is enabled, so
<dlfcn.h> only needs to be included when ENABLE_LIBSELINUX is
defined. This fixes the build in configurations where <dlfcn.h> is not
available.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 years agoFixing invalid reads in find_elf_note due to setenv invocation
Jan Rybar [Fri, 5 Aug 2016 13:21:49 +0000 (15:21 +0200)]
Fixing invalid reads in find_elf_note due to setenv invocation
Resolves issue on mailing list and Red Hat Bugzilla 1163404.

8 years agoFixing is_disk() which mistakes devices with name longer than 20 chars for partitions.
Jan Rybar [Thu, 4 Aug 2016 09:25:19 +0000 (11:25 +0200)]
Fixing is_disk() which mistakes devices with name longer than 20 chars for partitions.
Associated with previous vmstat -d enhancement commit.

8 years agotop: provide for expanded potential displayable fields
Jim Warner [Sat, 30 Jul 2016 05:00:00 +0000 (00:00 -0500)]
top: provide for expanded potential displayable fields

This commit provides for raising the total displayable
fields from its current 70 to 86. It also bumps the id
in an rcfile representing the version from 'i' to 'j'.

The increase in number of fields will make sharing the
rcfile with an older top, once it's saved, impossible.

These changes are being done via a #define rather than
hard coded so any such sharing will still be possible.

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agolibrary: dont use vm_min_free on non-Linux systems
Craig Small [Sat, 16 Jul 2016 23:06:24 +0000 (09:06 +1000)]
library: dont use vm_min_free on non-Linux systems

For a specific slice of kernel versions we can get a better
estimate of the available memory before the "real" available
figure appears around kernel 3.2

However, that middle method requires a /proc/sys/vm directory.
FreeBSD 9.x used to emulate a < 2.6.27 kernel procfs meaning
it never tried the middle method. FreeBSD 10.x emulates something
more modern, but without the available figure and without a
/proc/sys/vm, so the library falls into a hole.

Hurd may to one day have this bug so we'll exclude him as well
as its triggered by whatever number appears in
/proc/sys/kernel/osrelease

References:
 commit 3f3b1a59ada85d21f34530cfb1dc1c0afd70e6dc
 https://bugs.debian.org/831396

8 years agotop: make compilation possible under netbsd-curses too
Jim Warner [Sat, 16 Jul 2016 05:00:00 +0000 (00:00 -0500)]
top: make compilation possible under netbsd-curses too

Whoa, I had never considered an alternative to ncurses
until the issue referenced below was raised. Thus, I'm
surprised to find that 'tparm' was the only impediment
to ultimately utilizing this alternate curses library.

And, while we could have substituted that non-standard
'tiparm' with only 2 arguments, we'll utilize the full
parms compliment in the spirit of that original patch.

Frankly, the task of developing an alternative library
to that ncurses implementation really boggles my mind.

Congratulations to rofl0r, whoever that masked man is.

Reference(s):
. issue raised
https://gitlab.com/procps-ng/procps/issues/38
. netbsd-curses home
https://github.com/sabotage-linux/netbsd-curses

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agoUpdated Chinese po file
Craig Small [Sat, 16 Jul 2016 22:45:48 +0000 (08:45 +1000)]
Updated Chinese po file

8 years agomisc: fix strtod_nol_err tests
Dr. Werner Fink [Wed, 13 Jul 2016 10:08:51 +0000 (20:08 +1000)]
misc: fix strtod_nol_err tests

A better way of implementing the string to double
conversion and a better way of testing it.

Signed-off-by: Craig Small <csmall@enc.com.au>
8 years agomisc: Remove strtod tests
Craig Small [Sun, 10 Jul 2016 23:25:43 +0000 (09:25 +1000)]
misc: Remove strtod tests

Due to the interesting properties of floating points, the strtod
tests have been removed. One day I may bother enabling them again.

8 years agowatch: define HOST_NAME_MAX
Craig Small [Sun, 10 Jul 2016 22:41:21 +0000 (08:41 +1000)]
watch: define HOST_NAME_MAX

Those infernal arches of kfreebsd-i386 (not -amd64) don't define
HOST_NAME_MAX. This patch is a work-around for those systems with
lacking include files.

8 years agomisc: Update translations v3.3.12
Craig Small [Sat, 9 Jul 2016 23:09:32 +0000 (09:09 +1000)]
misc: Update translations

Update the translations to the latest versions.
We also now have simplified Chinese language too!

8 years agomisc: testsuite to source aux scripts correctly
Craig Small [Sat, 9 Jul 2016 23:04:44 +0000 (09:04 +1000)]
misc: testsuite to source aux scripts correctly

Because I don't know how to redirect properly in tcl, there are
some small scripts that do this for me. With your standard
make check, all is good because the scripts and the binary are
in the usual spots.

make distcheck however puts them all over the place. The binary is
in a different tree to the test and aux scripts. The change now
tells where aux script where its binary is.

8 years ago6:0:0 lbirary API bump
Craig Small [Sat, 9 Jul 2016 22:55:45 +0000 (08:55 +1000)]
6:0:0 lbirary API bump

8 years agomisc: Add note for Debian bug about ANSI
Craig Small [Sat, 9 Jul 2016 21:59:20 +0000 (07:59 +1000)]
misc: Add note for Debian bug about ANSI

8 years agowatch: fix process_ansi typo
Craig Small [Sat, 9 Jul 2016 05:57:11 +0000 (15:57 +1000)]
watch: fix process_ansi typo

When I had to apply Josh's ansi fix a few commits below I put the
return before the setattr

References:
 commit 261c571acafed88d03ebdb5c5fa3d7e084daf25b

8 years agowatch: Remove second [m check
Craig Small [Sat, 9 Jul 2016 05:16:57 +0000 (15:16 +1000)]
watch: Remove second [m check

With the previous watch fixes, there is no need for the second
[m check as these are covered in previous checks.

8 years agowatch: Don't attempt to ungetc parts of unknown ANSI escape sequences
Josh Triplett [Fri, 8 Jul 2016 07:32:59 +0000 (00:32 -0700)]
watch: Don't attempt to ungetc parts of unknown ANSI escape sequences

If process_ansi encountered an unknown character when processing an ANSI
escape sequence, it would ungetc all the characters read so far, except
for the character just read, and the opening '\033['.  ungetting the
middle of the escape sequence does not produce useful results, and also
relies on the unportable assumption that ungetc works on multiple
characters (which glibc does not support).  Discard the characters
instead.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
8 years agowatch: Fix ANSI escape sequence termination
Josh Triplett [Fri, 8 Jul 2016 07:29:59 +0000 (00:29 -0700)]
watch: Fix ANSI escape sequence termination

process_ansi stopped processing an ANSI escape sequence if
(c < '0' && c > '9' && c != ';'), which will never happen.  Fix the
range check to use || instead.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
8 years agowatch: Don't process additional numbers in unknown ANSI color escapes
Josh Triplett [Sat, 9 Jul 2016 04:52:54 +0000 (14:52 +1000)]
watch: Don't process additional numbers in unknown ANSI color escapes

process_ansi assumed all numbers in a color control sequence correspond
to colors or attributes, which breaks badly if it encounters a
ISO-8613-3 escape sequence (such as for truecolor RGB).  For instance,
the sequence "\x1b[38;2;10;20;30m" sets the foreground color to
rgb(10,20,30), but watch will interpret all five numbers in the sequence
as colors or attributes themselves.

Stop processing the entire escape sequence if watch encounters any
number it doesn't understand, as that number may change the meaning of
the rest of the sequence.

8 years agobuild-sys: Re vert noinst and check programs
Craig Small [Sat, 9 Jul 2016 04:35:06 +0000 (14:35 +1000)]
build-sys: Re vert noinst and check programs

Previously there was a commit to change all noinst_PROGRAMS into
check_PROGRAMS. This was not a good idea.

check_PROGRAMS are built before TESTS are run. However they are
NOT build before the dejagnu tests are run, causing those tests
to fail.

So:
If the program is required for dejagnu, it needs to go into
noinst_PROGRAMS
If the program is required for TESTS or is one of those TESTS,
it needs to go into check_PROGRAMS

8 years agobuild-sys: Make check programs before check
Craig Small [Sat, 9 Jul 2016 04:11:06 +0000 (14:11 +1000)]
build-sys: Make check programs before check

For some unknown reason, check_PROGRAMS are not built before check.
They are built before recheck and after check, which isn't very
useful.

This means any tests by dejagnu that need those programs will fail.
On my console I get a build error, the CI merrily reports the error
but considers the build OK; go figure.

The kludge adds check_PROGRAMS to be a dependency to check.
Note, TESTS don't need to be included in this, because they are
properly compliled after the dejagnu tests but before they are
run.

8 years agowatch: fix 8bit regression
Craig Small [Sat, 9 Jul 2016 03:27:23 +0000 (13:27 +1000)]
watch: fix 8bit regression

As part of the fix to truncate the command in non-8bit, watch had
the function for output_header changed (much for scope cleanliness
and cohesiveness than anything; so I'm going to blame Meyer)...

Anyhow the 8bit enabled version did not have that update which
meant watch failed to compile. Thanks to @asavah for issue #37
and the patch.

References:
 commit 5a40c7970d8185fcf322575de9fed69d4cdedd93

8 years agoNEWS: update (and reorganize) with accumulated changes
Jim Warner [Thu, 7 Jul 2016 05:00:00 +0000 (00:00 -0500)]
NEWS: update (and reorganize) with accumulated changes

For what could be our last oldlib release, why not try
to make the NEWS a little more readable. So, it's been
reorganized by category and bug fixes were out-dented.

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agobuild sys: update configure.ac for the latest autoscan
Jim Warner [Wed, 6 Jul 2016 05:00:00 +0000 (00:00 -0500)]
build sys: update configure.ac for the latest autoscan

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agomisc: repair a single instance of 'whitespace' boo-boo
Jim Warner [Wed, 6 Jul 2016 05:00:00 +0000 (00:00 -0500)]
misc: repair a single instance of 'whitespace' boo-boo

[ this is just the case of the final newline missing ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agolibrary: avoid QUICK_THREADS, swat Redhat bug #1284091
Jim Warner [Wed, 6 Jul 2016 05:00:00 +0000 (00:00 -0500)]
library: avoid QUICK_THREADS, swat Redhat bug #1284091

For this release, what's likely to be our last oldlib,
we really no longer care when top or ps threads access
is made a little less efficient. This is especially so
when efficiency was gained at the expense of accuracy.

The newlib branch already has turned off QUICK_THREADS
so this patch just brings the master branch into line.

Reference(s):
https://bugzilla.redhat.com/show_bug.cgi?id=1284091

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agolibrary: rename clashing pwcache functions
Craig Small [Fri, 17 Jun 2016 22:17:45 +0000 (08:17 +1000)]
library: rename clashing pwcache functions

On MacOS the system already has user_from_uid and group_from_gid.
These are renamed pwcache_get_user and pwcache_get_group.

For the old library, pwcache_get_user needs to be exported
for skill.

References:
 https://gitlab.com/procps-ng/procps/issues/34

Signed-off-by: Craig Small <csmall@enc.com.au>
8 years agomisc: adapted others to that new proc_t 'cgname' field
Jim Warner [Sun, 3 Jul 2016 05:00:00 +0000 (00:00 -0500)]
misc: adapted others to that new proc_t 'cgname' field

This patch adapts the ps program to a newly add proc_t
field and provides for new support in that top program
along with his man document (ps was already ok there).

Signed-off-by: Jim Warner <james.warner@comcast.net>
8 years agolibrary: play catchup with a new proc_t 'cgname' field
Jim Warner [Sun, 3 Jul 2016 05:00:00 +0000 (00:00 -0500)]
library: play catchup with a new proc_t 'cgname' field

Since we're about to break the ABI/API anyway, why not
go ahead and add yet another field to our proc_t which
the newlib branch has had for awhile. This then allows
the top program to offer 'control group name' and will
also permit a few reductions in that ps program logic.

And let's also clean up some unrelated warnings below.

Clang warnings:
proc/readproc.c:1178:50: warning: address of array 'ent->d_name' will always evaluate to 'true' [-Wpointer-bool-conversion]
    if(unlikely(unlikely(!ent) || unlikely(!ent->d_name))) return 0;
                                           ~~~~~~^~~~~~
proc/readproc.c:1205:50: warning: address of array 'ent->d_name' will always evaluate to 'true' [-Wpointer-bool-conversion]
    if(unlikely(unlikely(!ent) || unlikely(!ent->d_name))) return 0;
                                           ~~~~~~^~~~~~

Signed-off-by: Jim Warner <james.warner@comcast.net>