- 08 Dec, 2019 3 commits
-
-
Craig Small authored
-
Craig Small authored
Previous release incremented the age instead of incrementing the revision. The age can only increment if revision (internal changes only) or current (API changes) also increments. A C:R:A of 8.0.2 means its the latest revision of 8.0 library and any binary linked against 8.0 will work. This is our third revision of the 8.0 library. References: https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
-
Craig Small authored
-
- 28 Nov, 2019 1 commit
-
-
Craig Small authored
This is based upon the Makefile.am for psmisc
-
- 12 Nov, 2019 1 commit
-
-
Craig Small authored
The install target was using the wrong directory and would throw some errors where a language couldn't translate man pages. This one should be hopefully more robust.
-
- 11 Nov, 2019 2 commits
-
-
Craig Small authored
Downloaded the updated translations of the binaries and the manpages from translation project. Then fixed the typos that caused po4a to fail, mainly errant spaces.
-
Craig Small authored
Using the newer po4a tool for manpage translations. Also removing the manpage po file update from dist target because it should be something the is explicitly done. The git repository will hold the original man pages and the po translation files. The distribution tarball will hold those and the translated manpages. This means most people won't need po4a as the distribution fill will have these translated manpages.
-
- 31 Oct, 2019 2 commits
-
-
Craig Small authored
References: #146
-
Craig Small authored
skill.1 man page had trailing ^Z which cause the translation engine all sorts of problems.
-
- 28 Oct, 2019 2 commits
-
-
Craig Small authored
-
Craig Small authored
The previous Makefile rule would only put the first required file into the pot file because it used $< Unfortunately, due to how po4a tools work, its not just a simple matter of changing it to $^ and you're done, but needs a foreach loop to add -m to each manpage file. This is a temporary fix, after some more work looking into po4a the unified tool (called po4a) will be used.
-
- 27 Oct, 2019 1 commit
-
-
Beyond the copyrights, the single oops in the man page was introduced in the commit which is referenced below dealing with some cleanup following that Qualys audit. Reference(s): . man page error introduced commit e531c781 Signed-off-by:
Jim Warner <james.warner@comcast.net>
-
- 21 Oct, 2019 1 commit
-
-
Craig Small authored
@MarsChan correctly pointed out that the read() always returns 128 bytes, so skipping on >= 128 will always mean we skip. Their suggestion was to remove the equality, but read will never go past 128 bytes so I just removed that part of the check. References: !89
-
- 21 Sep, 2019 8 commits
-
-
Craig Small authored
References: !86
-
-
Craig Small authored
References: !85
-
testsuite: pgrep: Provide test for matching a more than 4k command line; beware as TCL does not seem to match on strings >4k
-
-
Craig Small authored
Short separator option used 's' instead of 'S' which meant it pidof would use the single-shot option when you meant separator. Added alias for -S using -d to give some sysvinit pidof compatibility. References: commit 73492b18 #141
-
Craig Small authored
watch used to check if COLOR was required, check if color was possible then.. set the flag again. It should have been cleared after failing to get colors out of ncurses. References: #143
-
Craig Small authored
The systemd sysctl ignores errors from preload files that start with a hyphen. This change brings the procps sysctl into line with their change. References: #138 https://github.com/systemd/systemd/pull/13191 https://github.com/systemd/systemd/pull/13141
-
- 25 Aug, 2019 3 commits
-
-
jim warner authored
Signed-off-by:
Jim Warner <james.warner@comcast.net>
-
jim warner authored
The backtrace shown in the bug report referenced below illustrates a 'normal' program termination interrupted with some signal, ultimately then causing a top crash. So this commit just rearranges a little code such that all signals will be blocked during that rather lengthy end of program processing regardless of how initiated. [ in that report, ignore the assertion regarding the ] [ '-n' option. it obviously was not '1' since do_key ] [ had been called, which otherwise wouldn't be true. ] [ and when it is '1' the -d option would be ignored. ] Reference(s): https://bugzilla.redhat.com/show_bug.cgi?id=1737552 Signed-off-by:
Jim Warner <james.warner@comcast.net>
-
jim warner authored
This commit most significant change is the elimination of the kbd_ENTER entry from that tinfo_tab in iokey(). That entry was a useless artifact left from the commit which is shown below. It makes no sense to 'translate' a keystroke into something it already was (i.e. '\n'). The remaining changes just reorder those table entries for a progression consistent with vim keys: h,j,k & l. Reference(s): . fix 'iokey()' flaw preventing proper translations commit 42f0a341 Signed-off-by:
Jim Warner <james.warner@comcast.net>
-
- 04 Jul, 2019 2 commits
-
-
jim warner authored
This commit standardizes the behavior of the PgUp/PgDn keys when on the main top display. With PgDn, the last process will become the first process. With PgUp, that first task will now appear as the last task displayed. [ this also eliminates some quirks that were evident ] [ when paging at or near the end of the process list ] Signed-off-by:
Jim Warner <james.warner@comcast.net>
-
jim warner authored
A recent issue (and merge request) reminded me of gaps in top's alternate 'vim' navigation keys support. Some xterm emulators do not pass the customary strings when keys were used with the <Ctrl> and/or <Alt> modifiers. While it was a known problem, this issue/merge request prompted research into the root cause. As it turns out the problem is traceable to an X resource known by the name 'eightBitInput'. When 'true' (the default), a key pressed in combination with <Alt> will not be preceded by the <Esc> character. Rather, a single character was presented (modified via an 'eightBitMeta' X resource). The following approaches would eliminate this problem: . start xterm thus: xterm -xrm '*eightBitInput: false' . use: ~/.Xresources with 'Xterm*eightBitInput: false' . build xterm with 'configure --enable-meta-sends-esc' ( apparently used for CentOS, Fedora, openSUSE, etc. ) . enable xterm's menu via 'configure --enable-toolbar' ( so the user can set the 'Meta Sends Escape' option ) Of course, none of the above steps is desirable from a user's perspective. So, this patch will add additional entries to the iokey function's tinfo_tab to represent strings passed when the <Alt> key does not send <Esc>. [ hopefully they'll be the same across all platforms ] Lastly, this patch will also eliminate those redundant <Atl> + '\', '/', '<' & '>' provisions, which now seem like overkill and suffer from that same 'eightBitMeta' xterm problem. And we might as well say goodbye to the 4 '<Alt> + arrow key' table entries (which do not seem to currently work with any emulator which I can find). [ what in the world was I thinking way back in 2011? ] Reference(s): . issue #135 . merge request !84 Signed-off-by:
Jim Warner <james.warner@comcast.net>
-
- 26 Mar, 2019 2 commits
-
-
jim warner authored
Since the patch referenced below traded a compile-time 'sizeof' directive for a run-time 'strlen' call, there is no need to declare lxc patterns as explicit arrays. We'll also use the actual lxc patterns by omitting the beginning slashes ('/') for both of those definitions. And, looking to the future when most/all lxc users are using the most recent lxc release, we will make things slightly more efficient by reversing those two pattern literals so the most recent pattern was checked first. Of course, such a change only benefits tasks which are running in a container. For the majority of processes, both literals will be compared in that 'if' statement, assuming the 'LXC' field is currently being displayed. [ plus, a leftover parenthesis pair has been removed ] Reference(s): commit f67127e7 Signed-off-by:
Jim Warner <james.warner@comcast.net>
-
jim warner authored
Signed-off-by:
Jim Warner <james.warner@comcast.net>
-
- 04 Mar, 2019 8 commits
-
-
Craig Small authored
Added some minor fixes and notes
-
Craig Small authored
References: https://bugs.debian.org/919381 !81
-
ed authored
-
Craig Small authored
References: !65
-
Patrick Steinhardt authored
As we're using buffered I/O when writing kernel parameters, write errors may get delayed until we close the `FILE` stream. As we are currently outputting the key that is to be set disregarding the return value of `close_stream`, we may end up in a situation where we report error and success: $ sysctl kernel.printk_ratelimit=100000000000000 sysctl: setting key "kernel.printk_ratelimit": error code 22 kernel.printk_ratelimit = 100000000000000 Fix the issue by only outputting the updated value in case `close_stream` does not report an error. Signed-off-by:
Patrick Steinhardt <ps@pks.im>
-
Patrick Steinhardt authored
When writing to procfs via `proc_write` fails, we try to chunk the buffer into smaller pieces to work around that issue. When searching for the next location to split the buffer, though, we can underflow the buffer in case the current offset is smaller than `LINELEN`. Fix the issue by passing `cookie->offset` instead of `LINELEN` into `memrchr` in case `cookie->offset` is smaller than `LINELEN`. This bug can be triggered on musl-based systems, e.g. by executing $ sysctl kernel.printk_ratelimit=1000000000000000 As the value is out-of-range, `write` will return an error and set `errno` to `EINVAL`. As we're only trying to write a smallish buffer with a length smaller than `LINELEN` and as the buffer does not contain any newlines, the call token = (char*)memrchr(cookie->buf+offset, '\n', LINELEN); will underflow the buffer and crash the program. Signed-off-by:
Patrick Steinhardt <ps@pks.im>
-
Patrick Steinhardt authored
The `fprocopen` function allows users to specify a delimiter chacter that is used to split very large input lines into smaller chunks. While the code checks that the caller did actually supply the delimiter, it is in fact never used to split the string. Instead, the hardcoded default character ',' is always used to split the string. Fix the issue by using `cookie->delim` instead.
-
Patrick Steinhardt authored
-
- 22 Jan, 2019 2 commits
-
-
jim warner authored
I thank Guido Jäkel for raising the issue cited in the merge request referenced below. While restoring 1 line of code would produce the desired results, it does not address the root cause of that problem he experienced. The variable 'smp_num_cpus' was set by libprocps via a sysconf(_SC_NPROCESSORS_ONLN) call. It was supposed to represent total number of processors currently online. It also served as the position in the Cpu_tics[] array where the /proc/stat line #1 (cpu summary) was stored. The variable 'Cpu_faux_tot' was valued by top based on total individual cpus parsed from the /proc/stat file. It serves as a fence post for Cpu_tics[] array access. The problem Guido experienced results from a disparity between those 2 variables, plus one instance where the wrong variable was used in the summary_show() routine. . Here is the real culprit, the actual incorrect code: . summary_hlp(&Cpu_tics[Cpu_faux_tot], N_txt(WORD_a... Which always should have been represented in this way: . summary_hlp(&Cpu_tics[smp_num_cpus], N_txt(WORD_a... ------------------------------------------------------ The above 'disparity' might arise in any system when a cpu is taken offline since there's a 3 second delay in cpu and memory refreshes in an effort to reduce costs. Usually this particular condition will be short lived. However, there is a more persistent problem under lxc. If a host cpu is taken offline and then brought online again, within the container sysconf returns the proper number of online processors. But, /proc/stat does not! Sadly, I've yet to find a way to coax a container into refreshing its /proc/stat, short of reboting the host. [ might that represent a potential bug in lxc logic? ] Reference(s): !82 Signed-off-by:
Jim Warner <james.warner@comcast.net> With-thanks-to: Guido Jäkel <G.Jaekel@DNB.DE>
-
jim warner authored
The merge request shown below prompted (thankfully) an examination of our lxc containers logic in readproc.c. As it turns out, the lxc folks changed that eyecatcher used to identify containers within a task cgroup file. So this patch, with little extra cost, will enable the libprocps lxc_containers() guy to handle both strings. [ additionally, I was shocked to find lxc allows the ] [ eyecatcher to be changed at ./configure time. such ] [ a provision has always existed. unfortunately, the ] [ changed value was only available to root, assuming ] [ one wished to tackle that undocumented liblxc api. ] Reference(s): . what prompted lxc support reevaluation !82 . original lxc support introduced commit 0557504f Signed-off-by:
Jim Warner <james.warner@comcast.net>
-
- 02 Jan, 2019 2 commits
-
-
jim warner authored
While setting the size of that Hide_pid array to equal total pids high water mark was probably safe, in truth there is no real relationship. At some point one could exceed that HWM if the 'v' toggle was used extensively and at least 1 of those entries remained non-negative. This commit simply divorces Hide_tot from the pids HWM and bases Hide_pid array size on actual run-time need. Signed-off-by:
Jim Warner <james.warner@comcast.net>
-
jim warner authored
Currently, except for tasks that have no parents, when a process' children are collapsed the '+' indicator is shown in the first position within that COMMAND field. This commit simply provides for indenting the '+' char so it displays next to that program name/command line. Signed-off-by:
Jim Warner <james.warner@comcast.net>
-