98ee833932
Add Linux process column for context switches
...
Displays the incremental sum of voluntary_ctxt_switches and nonvoluntary_ctxt_switches.
2020-09-17 21:53:15 +02:00
37921382f4
Use PROCDIR throughout instead of /proc on Linux
2020-09-17 21:44:27 +02:00
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
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
4597332959
Switch variable/field naming from WhiteList to MatchList
2020-09-09 19:38:15 +10:00
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
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
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
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
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
47a7d0bd74
Merge branch 'configure' of https://github.com/cgzones/htop into cgzones-configure
2020-08-31 17:13:37 +10:00
b321177b08
Merge branch 'master' of github.com:htop-dev/htop
2020-08-31 16:57:46 +10:00
5c99c6e942
Check btime sscanf parse from /proc/stat
...
Found by Coverity
2020-08-28 16:46:50 +02:00
a850d81bf5
Avoid use of uninitialized variables
...
Found by Coverity
2020-08-28 16:46:50 +02:00
05a5fdc47f
Ignore sscanf return value of /proc/stat
...
Found by Coverity
2020-08-28 16:46:50 +02:00
af84d3dfa9
Fail on out-of-range CPU number
...
Found by Coverity
2020-08-28 16:46:50 +02:00
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
a48ce9d103
Really tell gcc to ignore return value of fscanf
2020-08-28 13:10:41 +02:00
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
4e2b9f0965
Avoid shadowing warnings
2020-08-25 12:01:56 +02:00
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
6900e57efd
Updates to project URLs in docs and embedded in source code
2020-08-22 15:47:11 +10:00
5dad65ac2a
Update header files to match whitespace changes in source files
2020-08-22 15:46:31 +10:00
b92f62f912
Remove trailing whitespaces
2020-08-21 10:37:33 +02:00
3856bf574b
Introduce xAsprintf as checked version of asprintf
2020-08-21 10:37:29 +02:00
9a55efc8b5
Merge branch 'hishamhm-pull-920'
2020-08-20 18:24:35 +10:00
31391b206c
Merge branch 'hishamhm-pull-1012'
2020-08-20 15:51:21 +10:00
fed14a584d
Merge branch 'hishamhm-pull-970'
2020-08-20 15:33:30 +10:00
6b443c5da9
Merge branch 'hishamhm-pull-932'
2020-08-20 14:47:07 +10:00
a82fd262d7
Merge branch 'hishamhm-pull-960'
2020-08-20 14:19:53 +10:00
cdff8aea2a
Merge branch 'hishamhm-pull-946'
2020-08-20 14:13:07 +10:00
0f76359e4e
Merge branch 'hishamhm-pull-890'
2020-08-20 14:01:47 +10:00
2be0992700
Merge branch 'hishamhm-pull-890'
2020-08-20 14:00:13 +10:00
45ae6191c1
Merge branch 'hishamhm-pull-866'
2020-08-20 12:29:25 +10:00
e7d2f9383a
Merge branch 'hishamhm-pull-857'
2020-08-20 09:47:13 +10:00
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
eef6bc447d
Correction to smaps buffer size passed to smaps path snprintf
2020-08-19 17:50:43 +10:00
f9625cacf0
Merge branch 'hishamhm-pull-843'
2020-08-19 17:47:38 +10:00
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
579995c7c2
Merge branch 'hishamhm-pull-842'
2020-08-18 17:35:56 +10:00
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
7fdd8d3732
adding support for more than 2 smaller cpumeter columns
2020-06-11 23:21:52 +02:00
88c9ebb8f7
Properly identify zombie processes
...
This closes issue #930 .
2019-12-14 11:47:03 +01:00
dd33444f7e
Clean up existing whitespace
2019-10-31 11:39:12 -05:00
1886117c72
Linux: fixes sysfs battery discovery
2019-09-07 15:21:04 +01:00
a267003f2f
Linux fixes
2019-09-03 19:56:38 +00:00
613556faeb
Support for ZFS Compressed ARC statistics
2019-09-03 18:44:19 +00:00
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
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
1acfb0a752
Show N/A instead of 0KHz when CPU frequency is not available.
2019-08-10 11:37:35 -07:00