Christian Göttsche
37921382f4
Use PROCDIR throughout instead of /proc on Linux
2020-09-17 21:44:27 +02:00
Christian Göttsche
b096fdbfc0
Avoid potential buffer overflow in LinuxProcessList_readStatFile
...
Pass size of allocated command buffer and limit write.
2020-09-17 21:43:53 +02:00
Christian Göttsche
d5eb72e64d
Drop always true condition
...
`env` is allocated by checked allocation functions and can not be NULL.
This checks confuses clang analyzer and causes a null-dereference
warning on `env[size-1]`.
2020-09-12 18:14:39 +02:00
Nathan Scott
4597332959
Switch variable/field naming from WhiteList to MatchList
2020-09-09 19:38:15 +10:00
Nathan Scott
c5808c56db
Consolidate repeated macro definitions into one header
...
The MIN, MAX, CLAMP, MINIMUM, and MAXIMUM macros appear
throughout the codebase with many re-definitions. Make
a single copy of each in a common header file, and use
the BSD variants of MINIMUM/MAXIMUM due to conflicts in
the system <sys/param.h> headers.
2020-09-09 16:56:04 +10:00
Nathan Scott
8ec5d4a3a0
Further, minor cleanups to headers post-MakeHeaders
...
Remove leftover empty ifdef/endif pairs, whitespace.
The generated htop.h file was also unused - removed.
2020-09-08 17:33:50 +10:00
Zev Weiss
7b7822b896
Remove superfluous 'extern's from function declarations.
...
Applied via:
$ find * -name '*.h' -exec sed -i -r 's/^extern (.+\()/\1/;' {} +
Suggested-by: Bert Wesarg <bert.wesarg@googlemail.com>
2020-09-03 11:59:26 -05:00
Zev Weiss
a1a027b9bd
Axe automated header generation.
...
Reasoning:
- implementation was unsound -- broke down when I added a fairly
basic macro definition expanding to a struct initializer in a *.c
file.
- made it way too easy (e.g. via otherwise totally innocuous git
commands) to end up with timestamps such that it always ran
MakeHeader.py but never used its output, leading to overbuild noise
when running what should be a null 'make'.
- but mostly: it's just an awkward way of dealing with C code.
2020-09-03 11:58:58 -05:00
Christian Göttsche
e7f6d1ce5f
Reduce oom cast from long to int
...
Oom values should never be greater then INT_MAX, they should be in the
range 0 - 1000.
Improves: d9a5dd4b91
2020-08-31 11:55:53 +02:00
Nathan Scott
47a7d0bd74
Merge branch 'configure' of https://github.com/cgzones/htop into cgzones-configure
2020-08-31 17:13:37 +10:00
Nathan Scott
b321177b08
Merge branch 'master' of github.com:htop-dev/htop
2020-08-31 16:57:46 +10:00
Christian Göttsche
5c99c6e942
Check btime sscanf parse from /proc/stat
...
Found by Coverity
2020-08-28 16:46:50 +02:00
Christian Göttsche
a850d81bf5
Avoid use of uninitialized variables
...
Found by Coverity
2020-08-28 16:46:50 +02:00
Christian Göttsche
05a5fdc47f
Ignore sscanf return value of /proc/stat
...
Found by Coverity
2020-08-28 16:46:50 +02:00
Christian Göttsche
af84d3dfa9
Fail on out-of-range CPU number
...
Found by Coverity
2020-08-28 16:46:50 +02:00
Christian Göttsche
d9a5dd4b91
Improve OOM output
...
* Fix sort by adding cast
* Shrink column size to 4
* Drop unnecessary maximum field width specifier in sscanf
2020-08-28 14:24:59 +02:00
Christian Göttsche
a48ce9d103
Really tell gcc to ignore return value of fscanf
2020-08-28 13:10:41 +02:00
Nathan Scott
b992d52bcf
Increae the size of sysfs power supply path buffers
...
Resolves https://github.com/htop-dev/htop/issues/15
2020-08-28 16:57:21 +10:00
Christian Göttsche
4e2b9f0965
Avoid shadowing warnings
2020-08-25 12:01:56 +02:00
Christian Göttsche
6b11769448
Avoid conversion warning
...
linux/Platform.c:47:90: error: implicit conversion from ‘enum LinuxProcessFields’ to ‘enum ProcessFields’ [-Werror=enum-conversion]
47 | ProcessField Platform_defaultFields[] = { PID, USER, PRIORITY, NICE, M_SIZE, M_RESIDENT, M_SHARE, STATE, PERCENT_CPU, PERCENT_MEM, TIME, COMM, 0 };
|
2020-08-25 11:59:53 +02:00
Nathan Scott
6900e57efd
Updates to project URLs in docs and embedded in source code
2020-08-22 15:47:11 +10:00
Nathan Scott
5dad65ac2a
Update header files to match whitespace changes in source files
2020-08-22 15:46:31 +10:00
Christian Göttsche
b92f62f912
Remove trailing whitespaces
2020-08-21 10:37:33 +02:00
Christian Göttsche
3856bf574b
Introduce xAsprintf as checked version of asprintf
2020-08-21 10:37:29 +02:00
Nathan Scott
9a55efc8b5
Merge branch 'hishamhm-pull-920'
2020-08-20 18:24:35 +10:00
Nathan Scott
31391b206c
Merge branch 'hishamhm-pull-1012'
2020-08-20 15:51:21 +10:00
Nathan Scott
fed14a584d
Merge branch 'hishamhm-pull-970'
2020-08-20 15:33:30 +10:00
Nathan Scott
6b443c5da9
Merge branch 'hishamhm-pull-932'
2020-08-20 14:47:07 +10:00
Nathan Scott
a82fd262d7
Merge branch 'hishamhm-pull-960'
2020-08-20 14:19:53 +10:00
Nathan Scott
cdff8aea2a
Merge branch 'hishamhm-pull-946'
2020-08-20 14:13:07 +10:00
Nathan Scott
0f76359e4e
Merge branch 'hishamhm-pull-890'
2020-08-20 14:01:47 +10:00
Nathan Scott
2be0992700
Merge branch 'hishamhm-pull-890'
2020-08-20 14:00:13 +10:00
Nathan Scott
45ae6191c1
Merge branch 'hishamhm-pull-866'
2020-08-20 12:29:25 +10:00
Nathan Scott
e7d2f9383a
Merge branch 'hishamhm-pull-857'
2020-08-20 09:47:13 +10:00
Nathan Scott
500fb283e9
Resolve compiler warnings and errors relating to the Arg union
...
Promote the Arg union to a core data type in Object.c such
that it is visible everywhere (many source files need it),
and correct declarations of several functions that use it.
The Process_sendSignal function is also corrected to have
the expected return type (bool, not void) - an error being
masked by ignoring this not-quite-harmless warning. I've
also added error checking to the kill(2) call here, which
was previously overlooked / missing (?).
2020-08-20 09:35:33 +10:00
Nathan Scott
eef6bc447d
Correction to smaps buffer size passed to smaps path snprintf
2020-08-19 17:50:43 +10:00
Nathan Scott
f9625cacf0
Merge branch 'hishamhm-pull-843'
2020-08-19 17:47:38 +10:00
Nathan Scott
7ac1c709b7
Re-generate all headers with latest scripts/MakeHeader.py
...
Sync-up missing extern declarations for many functions.
2020-08-18 17:41:49 +10:00
Nathan Scott
579995c7c2
Merge branch 'hishamhm-pull-842'
2020-08-18 17:35:56 +10:00
Nathan Scott
dfd9279f87
Resolve complation issues with -fno-common (default from gcc-10)
...
Extends the MakeHeader script to auto-generate correct "extern"
function declarations in some cases that it currently does not.
Related to https://github.com/hishamhm/htop/pull/981
2020-07-10 10:35:32 +10:00
Christoph Budziszewski
7fdd8d3732
adding support for more than 2 smaller cpumeter columns
2020-06-11 23:21:52 +02:00
Jure Oder
88c9ebb8f7
Properly identify zombie processes
...
This closes issue #930 .
2019-12-14 11:47:03 +01:00
Daniel Flanagan
dd33444f7e
Clean up existing whitespace
2019-10-31 11:39:12 -05:00
smattie
1886117c72
Linux: fixes sysfs battery discovery
2019-09-07 15:21:04 +01:00
Ross Williams
a267003f2f
Linux fixes
2019-09-03 19:56:38 +00:00
Ross Williams
613556faeb
Support for ZFS Compressed ARC statistics
2019-09-03 18:44:19 +00:00
Ross Williams
e450b58636
Refactor openzfs_sysctl_init() and ZfsArcMeter...
...
openzfs_sysctl_init() now returns void instead of int.
The ZfsArcStats->enabled flag is set inside the init function
now, instead of having to be set from its return value.
Preparation for more flag setting in Compressed ARC commit.
ZfsArcMeter_readStats() added and all Meter->values[] setting
moved to it, eliminating duplicated code in
{darwin,freebsd,linux,solaris}/Platform.c.
2019-09-03 18:21:33 +00:00
Arnavion
81b64691a7
Move sysfs-reading code to LinuxProcessList.c and add average frequency.
...
This way the frequency is read from sysfs only once per update cycle
instead of every time the UI is redrawn.
This also changes the code to read from /proc/cpuinfo instead. This is because
reading from scaling_cur_freq stalls for 10ms if the previous read for the file
was more than one second ago. [1] Since htop's update cycle is
longer than that, it would cause the read of each CPU's scaling_cur_freq file
to block the UI for 20ms. This easily led to a noticeable half-second lag on
a 20+ CPU machine.
/proc/cpuinfo also has a 10ms delay, but this applies for the whole file
so the delay does not scale with the number of CPUs. [2]
[1]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4815d3c56d1e10449a44089a47544d9ba84fad0d
[2]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=7d5905dc14a87805a59f3c5bf70173aac2bb18f8
2019-08-10 22:19:32 -07:00
Arnavion
1acfb0a752
Show N/A instead of 0KHz when CPU frequency is not available.
2019-08-10 11:37:35 -07:00
Arnavion
4b0600d8f8
Add new display option to also show CPU frequency in CPU meters.
...
The option is only implemented on Linux. On other platforms, and on Linuxes
that do not expose the relevant sysfs file, the frequency will be 0.
The "CPU average" meter does not show a frequency, only
the individual per-CPU meters.
2019-08-09 21:34:48 -07:00