Daniel Lange
6c306315c8
Fix reading of device nodes > 2 chars from memory maps
2020-11-28 17:06:06 +01:00
Christian Göttsche
a41e5c0a80
configure: do not check functions we are using unconditionally
2020-11-28 12:35:34 +01:00
Christian Göttsche
2ff2859c23
Add compat mode for systems without openat(2)
2020-11-28 12:35:34 +01:00
Christian Göttsche
638207a2ff
LinuxProcessList: use openat instead of building path strings
...
openat() is available since Linux 2.6.16
2020-11-28 12:35:34 +01:00
Nathan Scott
f704baeb82
Drop unused global ProcessList memory fields
...
The global ProcessList structure contains a couple of unused
fields. 'sharedMem' has never been used by any Meter, since
its not been anything other than zero in Linux /proc/meminfo
for many, many years. The freeMem field is only used in the
usedMem calculation, so it can reside on the stack like some
other memory variables used within-calculations-only and not
exposed to the user via a Meter.
2020-11-27 07:55:58 +01:00
Nathan Scott
fee217551c
Drop unneeded parameters to the ScreenManager constructor
...
All calls to ScreenManager_new always pass the same first
five values, the orientation is always HORIZONTAL and the
y1 parameter is always the height of the passed-in header
struct pointer. I think its safe to assert at this point
that no VERTICAL orientation will arrive (if it does, its
no harm in re-adding this then) - so we can remove unused
conditionals (and TODOs) based on orientation too.
2020-11-26 23:55:53 +01:00
Benny Baumann
83bf8cfad6
Make casing of N/A consistent (majority was N/A)
2020-11-26 22:58:34 +01:00
Benny Baumann
2c27f1d9ab
Randomly refresh M_LRS calculation, but latest after 2s
2020-11-26 22:58:34 +01:00
Benny Baumann
08d6e25301
Distinguish display of no permissions for reading M_LRS
2020-11-26 22:58:34 +01:00
Benny Baumann
31044d1729
Roll our own strtoull implementation specialized to handle the parsing requirements
2020-11-26 22:58:34 +01:00
Benny Baumann
cceab5f803
Hardcode actual conversions to read the maps file data
2020-11-26 22:58:34 +01:00
Benny Baumann
721d9112d9
Only calculate M_LRS size every 5 seconds
2020-11-26 22:58:34 +01:00
Fynn Wulf
7f18b352b0
Calculate library size (M_LRS column) from maps file
2020-11-26 22:58:34 +01:00
Christian Göttsche
46a2e8ac63
IOPriorityPanel: drop unnecessary buffer size decrement
...
xSnprintf guarantees null-termination within the passed size.
2020-11-26 20:42:38 +01:00
Christian Göttsche
15fe8717b1
configure: create typedefs for fixed-sized integers if needed
...
If not defined in stdint.h or inttypes.h
See https://www.gnu.org/software/autoconf/manual/autoconf-2.62/html_node/Particular-Types.html
2020-11-26 20:28:38 +01:00
Christian Göttsche
748f3eb7d8
Fix crash when getCommandStr not overloaded for a platform process
...
Closes : #343
2020-11-26 15:21:01 +01:00
Christian Göttsche
d62c2e9cca
LinuxProcessList_recurseProcTree: compute time only once and mark parent const
2020-11-25 22:14:35 +01:00
Christian Göttsche
a6a5686388
Track file descriptors in valgrind script
2020-11-25 22:09:39 +01:00
Christian Göttsche
9b31ee5b63
Drop taskstats conditional
...
taskstats is only checked on runtime if the column RCHAR, WCHAR, SYSCR,
SYSCW, RBYTES, WBYTES, CNCLWB, IO_READ_RATE, IO_WRITE_RATE or IO_RATE is
selected.
taskstats is currently enabled by default.
Drop the taskstats configuration switch, to reduce the maintenance cost.
2020-11-25 20:49:39 +01:00
Christian Göttsche
c88c80e3bd
Drop cgroup conditional
...
cgroup is only checked on runtime if the column CGROUP is selected.
cgroup is currently disabled by default, but most distributions do
enable it.
Drop the cgroup configuration switch, to reduce the maintenance cost.
2020-11-25 20:49:39 +01:00
Christian Göttsche
267014cbfe
Add support to change numeric options in settings screen
...
Like delay or highlightDelaySecs
2020-11-25 20:46:27 +01:00
Christian Göttsche
adf9185209
Fully support non-ascii characters in Meter-Bar
...
Currently the code does not handle multi-byte characters, so length-
computations take the raw count of C characters and not the to displayed
size into account.
An example is the degree sign for temperatures.
Closes : #329
2020-11-25 20:45:54 +01:00
Christian Göttsche
c038326a70
LinuxProcessList: fix misspelling
2020-11-25 12:49:17 +01:00
Christian Göttsche
601ad61e7d
Unify naming of first argument of Platform_getBattery
...
Use percent throughout
2020-11-25 12:47:07 +01:00
Christian Göttsche
a3221f3677
Improve Fahrenheit temperature configuration text
2020-11-25 12:44:01 +01:00
Christian Göttsche
1d5b0522ac
ProcessLocksScreen_draw: use Process_getCommand instead of raw comm
2020-11-25 12:43:30 +01:00
Christian Göttsche
4af8c63f63
Fix file descriptor leak in LinuxProcessList_readCmdlineFile after xread failure
...
Found by Coverity
2020-11-24 19:54:25 +01:00
Benny Baumann
21e3063e2e
Include comm before cmdline if exe could not be read, but comm mismatches basename from cmdline
...
Also highlights entries where exe was marked deleted
2020-11-24 19:05:48 +01:00
Benny Baumann
ec36c5ccf8
Group the "Merge Command" related options visually
2020-11-24 19:05:48 +01:00
Benny Baumann
46ee28e897
Refactor command string creation
...
Hopefully this patch makes it a bit more approachable how it's done.
2020-11-24 19:05:48 +01:00
Benny Baumann
27b36dab1a
Make kernel thread display for COMM/EXE columns less visible and more consistent
2020-11-24 19:05:48 +01:00
Benny Baumann
45cb99d870
Minor indentation fix
2020-11-24 19:05:48 +01:00
Benny Baumann
f0a232568f
Reduce visual noise to when comm and cmdline actually disagree on the program basename
2020-11-24 19:05:48 +01:00
Narendran Gopalakrishnan
dde2af1fdb
Assume full basename matches COMM when matching full COMM buffer
2020-11-24 19:05:48 +01:00
Narendran Gopalakrishnan
e33d4d9460
Include merge status with column title when enabled
2020-11-24 19:05:48 +01:00
Narendran Gopalakrishnan
be60419630
Cleanup some documentation
2020-11-24 19:05:48 +01:00
Benny Baumann
fcda517a67
Add heuristic for space-separated cmdline
2020-11-24 19:05:48 +01:00
Benny Baumann
98fce1fb43
Compatibility function for faccessat
2020-11-24 19:05:48 +01:00
Narendran Gopalakrishnan
09fe94da18
Improving Command display/sort
2020-11-24 19:05:48 +01:00
Christian Göttsche
42c842c190
LinuxProcess_adjustTime: simplify by not using double
...
Does not work with -ffast-math else.
2020-11-24 17:30:21 +01:00
Daniel Lange
95f553b10c
Move treeView setting to make status bar item correct when using --sort-key, patch from @cgzones
...
Closes #340
2020-11-24 15:53:36 +01:00
Christian Göttsche
952ee9cd77
LinuxProcessList: fix misspelling
2020-11-24 11:46:17 +01:00
Christian Göttsche
72df930241
DarwinProcessList: retry getting list of all processes on ENOMEM
...
The process count might change between the two sysctl() calls getting
the size and getting the data.
Retry (3 times) in case the data-retrieval sysctl() call fails with ENOMEM.
see http://mirror.informatimago.com/next/developer.apple.com/qa/qa2001/qa1123.html
Related: #118
2020-11-23 17:00:32 +01:00
Christian Göttsche
6c2849ec81
Linux: fix display of new thread for one cycle when hidden
2020-11-23 14:44:31 +01:00
Nathan Scott
003f2c06a4
Merge branch 'cleanup-init-done' into master
2020-11-23 17:34:44 +11:00
Nathan Scott
82a69ee87a
Consistent ordering of function declarations for FreeBSD
2020-11-23 17:32:57 +11:00
Christian Göttsche
17eeb7573a
LinuxProcessList: skip parsing threads if the kind of thread is disabled
2020-11-22 16:49:43 +01:00
Benny Baumann
be39de14dd
Reduce scope of cached values
2020-11-22 14:24:18 +01:00
Christian Göttsche
be568b1153
Object: assert callbacks exists
...
Improves stacktraces.
Current stacktrace:
./htop(backtrace+0x5b)[0x45d98b]
./htop(CRT_handleSIGSEGV+0x189)[0x4eb5e9]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x14140)[0x7fbbfb1ea140]
New:
./htop(backtrace+0x5b)[0x45d98b]
./htop(CRT_handleSIGSEGV+0x189)[0x4eb7f9]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x14140)[0x7f62b0a65140]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x141)[0x7f62b089ac41]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x123)[0x7f62b0884537]
/lib/x86_64-linux-gnu/libc.so.6(+0x2540f)[0x7f62b088440f]
/lib/x86_64-linux-gnu/libc.so.6(+0x345c2)[0x7f62b08935c2]
./htop(Vector_delete+0x873)[0x54b303]
./htop(Panel_done+0x7b)[0x51abbb]
./htop[0x4ed8ee]
./htop(Vector_delete+0x414)[0x54aea4]
./htop(ScreenManager_delete+0x37)[0x536ea7]
./htop[0x4d9d1a]
./htop[0x4d5516]
./htop[0x5078d7]
./htop(ScreenManager_run+0x69f)[0x5388bf]
./htop(main+0x7c6)[0x4fcf76]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea)[0x7f62b0885cca]
./htop(_start+0x2a)[0x42688a]
2020-11-22 10:10:34 +01:00
Benny Baumann
03f9a86918
Reduce scope of local variables
2020-11-22 10:08:27 +01:00