Christian Göttsche
3d5b6d9282
Fix assert failure on short running thread
...
The following assert failure might happen on short running threads with
an empty comm value in /proc/${pid}/stat:
htop: Process.c:1159: void Process_updateCmdline(Process *, const char *, int, int): Assertion `(cmdline && basenameStart < (int)strlen(cmdline)) || (!cmdline && basenameStart == 0)' failed.
The specific task is:
comm=''
exe='(null)'
cmdline='/usr/bin/ruby /usr/bin/how-can-i-help --apt'
So basenameStart is 0, while strlen(cmdline) is also 0.
2021-05-23 15:25:23 +02:00
Benny Baumann
771a1be316
Update documentation for basename coloring of cmdline/exe columns
2021-05-23 09:30:36 +02:00
Benny Baumann
51ecc62d92
Force update when executable was recently deleted/replaced
2021-05-23 09:30:36 +02:00
Benny Baumann
bf07c713ba
Allow for highlighting of deleted executables to be configured
...
Fixes #383
2021-05-23 09:30:36 +02:00
Christian Göttsche
d9feff150c
Solaris: add EXE and COMM columns and use merged command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
72724d42f3
DragonFlyBSD: add EXE and COMM columns and use merged command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
d445676f09
OpenBSD: add COMM column and use merged command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
4da618030c
FreeBSD: add EXE and COMM columns and use merged command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
8ff4eb72ac
Darwin: use merged command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
7892ac68fb
Linux: use merge command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
6ad4f345dc
Unsupported: use merge command line helpers
2021-05-23 09:22:21 +02:00
Christian Göttsche
05fb681d5c
Process: add convenience helper functions to update merged command line related data
2021-05-23 09:22:21 +02:00
Christian Göttsche
7c654559c9
Linux: drop obsolete code now in Process_writeField
2021-05-23 09:22:21 +02:00
Benny Baumann
7ef58f2dcf
Drop mc->maxLen field
2021-05-23 09:22:21 +02:00
Benny Baumann
2824e2989a
Reduce code duplication for nearly identical code-paths
2021-05-23 09:22:21 +02:00
Benny Baumann
9a78155e17
Properly brace macro arguments
2021-05-23 09:22:21 +02:00
Benny Baumann
aa8552ba88
Move PROC_COMM/PROC_EXE column handling to global Process implementation
2021-05-23 09:22:21 +02:00
Benny Baumann
a61a2e6d47
Call makeCommandStr on all platforms
2021-05-23 09:22:21 +02:00
Benny Baumann
bcb18ef822
Move Process_makeCommandStr to global Process implementation
2021-05-23 09:22:21 +02:00
Benny Baumann
c0d0202440
Move LinuxProcess_getCommandStr to Process_getCommandStr
2021-05-23 09:22:21 +02:00
Benny Baumann
7224d0e083
Move kernel/userland thread handling to platform-independent implementation
2021-05-23 09:22:21 +02:00
Benny Baumann
1a1fddae85
Pre-calculate isUserlandThread flag
2021-05-23 09:22:21 +02:00
Benny Baumann
cdb660adab
Move mergeCommand to global process struct
2021-05-23 09:22:21 +02:00
Benny Baumann
94a52cb5c9
Rename cmdlineBasenameOffset to cmdlineBasenameEnd to properly indicate the fields purpose
2021-05-23 09:22:21 +02:00
Benny Baumann
666f70c58c
Move procCmdlineBasenameOffset as cmdlineBasenameStart to global Process structure
2021-05-23 09:22:21 +02:00
Benny Baumann
6dc485dd20
Remove duplicate field LinuxProcess->procCmdlineBasenameEnd
...
This field held practically the same value as cmdlineBasenameEnd
2021-05-23 09:22:21 +02:00
Benny Baumann
a685661866
Move procExeBasenameOffset to main Process structure
...
This drops procExeLen, as that field is implicit by strlen(Process->procExe)
2021-05-23 09:22:21 +02:00
Benny Baumann
93a44acf7e
Move procExeDeleted flag to main Process structure
2021-05-23 09:22:21 +02:00
Benny Baumann
b839987df7
Rename basenameOffset to cmdlineBasenameOffset
2021-05-23 09:22:21 +02:00
Benny Baumann
d74e8b7554
Move procComm and procExe to main Process structure
2021-05-23 09:22:21 +02:00
Benny Baumann
10790f0a54
Process: Put the time field more to the end
2021-05-23 09:22:21 +02:00
Benny Baumann
02431c43e1
Rename command line field from comm to cmdline
2021-05-23 09:22:21 +02:00
Benny Baumann
fbec3e4005
Refactor makeCommandStr
2021-05-23 09:22:21 +02:00
Benny Baumann
07a4657a47
DragonFlyBSD: Fix included headers
2021-05-22 18:16:11 +02:00
Benny Baumann
2c8353e7cf
DragonFlyBSD: Indentation and formatting fixes
2021-05-21 22:42:00 +02:00
Christian Göttsche
ee9e7edbc1
Solaris: handle ERR macro redefinitions
...
On OmniOS /usr/include/sys/regset.h redefines ERR to 13 - \r, breaking
the Enter key.
Since ncruses macros use the ERR macro, we can not use another name.
Closes : #634
2021-05-20 19:16:29 +02:00
Christian Göttsche
a62987c787
Solaris: improve process columns
...
- fill tty name
- fill session id
- show real tgid not adjusted
- drop unimplemented TPGID, MINFLT and MAJFLT
- adjust header width of ZONEID, which get auto-adjusted as a pid-column
2021-05-20 17:54:40 +02:00
Christian Göttsche
013d2efa51
Solaris: correct process env memory handling
...
Allow strncpy to NUL-terminate the buffer and do not return a non free-
able string literal.
2021-05-20 16:43:40 +02:00
Christian Göttsche
27be880d0f
Solaris: reduce function scopes
2021-05-20 16:43:40 +02:00
Christian Göttsche
6b57898034
Solaris: reduce variable scope
...
Also check for getloadavg(3c) failure
2021-05-20 16:43:40 +02:00
Christian Göttsche
906dcf5cb3
Solaris: silence signed comparison
2021-05-20 16:43:40 +02:00
Christian Göttsche
8f34225a49
Solaris: fix includes
2021-05-20 16:43:40 +02:00
Christian Göttsche
fdda291a0e
Solaris: add kstat lookup wrappers
...
The system interfaces kstat_lookup() and kstat_data_lookup() take a
non-constant string parameter, but passing string literals is valid.
Add wrapper functions to ignore all the const-discard warnings.
2021-05-20 16:43:40 +02:00
Christian Göttsche
4676e35f42
DragonFlyBSD: fixup columns
2021-05-19 17:53:14 +02:00
Christian Göttsche
69cfaf2381
configure: ignore warning about delay accounting on non-Linux platform
...
If pkg-config is not installed the following message gets printed, even
on non Linux platform:
"Linux delay accounting support can not be enabled, cause pkg-config is
required for checking its availability"
2021-05-16 20:01:25 +02:00
Christian Göttsche
d2ee40597c
Use STDERR_FILENO instead of magic number
2021-05-16 19:55:51 +02:00
Christian Göttsche
1f5f40c091
Print current settings on crash
2021-05-16 19:55:31 +02:00
Daniel Lange
204bc710ba
Adjust to current label reality and the fact that Github can't search for multiple labels ORed ... yet.
...
Has been only five years ... https://github.com/isaacs/github/issues/660
2021-05-14 11:29:29 +02:00
Daniel Lange
40ecde9d88
Add Github label disclaimer as per vi's comment
...
cf. 6900e57efd (commitcomment-50786333)
2021-05-14 11:17:35 +02:00
mayurdahibhate
3f86a011e6
platform-dependent files included relative to main source directory
2021-05-10 18:40:53 +02:00