Christian Göttsche
059810ca65
Drop always true condition
2020-10-27 18:00:43 +01:00
Christian Göttsche
ac2b07eddd
Avoid some unnecessary casts and mark some not changing variables const
2020-10-27 18:00:43 +01:00
Christian Göttsche
27870bd4de
Drop unneeded variablw initialization and reduce scope
2020-10-27 18:00:43 +01:00
Christian Göttsche
1533ea88a6
Drop duplicate and always true condition
...
This block is only entered if this->owner is true.
2020-10-27 18:00:43 +01:00
Benny Baumann
c98d4577c9
Refactor code for reading process environment from procfs
2020-10-27 17:54:37 +01:00
Christian Göttsche
a3bb7cbe64
Hold only a const version of Settings in ProcessList
2020-10-26 19:30:38 +01:00
Christian Göttsche
4eb443926f
Hold only a const version of Settings in Process
2020-10-26 19:30:38 +01:00
Christian Göttsche
7109172431
Mark process parameter of Process_writeField consistently const
2020-10-26 19:30:38 +01:00
Christian Göttsche
72103e9613
Hold only a const version of the ProcessList in Meters
2020-10-26 19:30:38 +01:00
Christian Göttsche
f757810f48
Improve handling of no data in Disk and Network IO Meters
2020-10-26 19:17:14 +01:00
Jan Palus
167adc0a2b
Parse POWER_SUPPLY_CAPACITY
...
If POWER_SUPPLY_{CHARGE,ENERGY}_NOW is missing then try to use
POWER_SUPPLY_CAPACITY to determine current charge level.
2020-10-26 19:03:09 +01:00
Ross Williams
94e32cf1e8
Simplify environment-reading code
...
Suggested PR changes, thanks @cgzones
2020-10-26 19:01:11 +01:00
Ross Williams
0ae2bb1f8e
Add process environment for FreeBSD
2020-10-26 19:01:11 +01:00
Christian Göttsche
11bf7be9c2
Mark user field of Process const
...
It's a non-owning pointer to a hashtable entry.
2020-10-22 22:26:22 +02:00
Christian Göttsche
b08b255b41
Drop unused Platform functions Platform_setTasksValues
2020-10-22 22:26:12 +02:00
Daniel Lange
f8bd5acdc1
Merge branch 'Fix wrong strncmp replacement' of cgzones/htop
2020-10-20 22:41:24 +02:00
Christian Göttsche
e12d48a661
Fix wrong strncmp replacement
...
Fixes 4c66eb6d4c
2020-10-20 22:30:13 +02:00
Christian Göttsche
7429c22201
Drop unnecessary cast
2020-10-20 22:29:16 +02:00
Christian Göttsche
45a22080c9
Increase print buffer in NetworkIOMeter_display
...
In case the packet values wrap-around or have other weird values, the
current buffer might be to small
2020-10-20 21:47:26 +02:00
Christian Göttsche
8a08a3209c
IWYU update
...
- Add Settings forward declaration in Process.h
- Add assert.h include in XUitls.c
- Add conditional stdbool.h include in Object.h
- Drop unneeded stddef.h include in Richstring.c
- Drop unneeded unistd.h include in Process.h
- Drop unneeded string.h include in linux/Platform.c
- Use String_eq to avoid string.h include in Action.c
- Improve script to run custom iwyu version
2020-10-20 21:44:25 +02:00
Christian Göttsche
803234a58d
update Github CI
...
- Add a full featured clang job
- Explicit disable options otherwise enabled by default in minimal job
2020-10-20 21:44:06 +02:00
Christian Göttsche
f8208f2173
Drop tabs in source indentions
2020-10-20 21:43:36 +02:00
srajmane
dea19b644f
s390x support for travis
2020-10-20 21:43:10 +02:00
Daniel Lange
0c5430982e
Merge branch 'screenshot' of nzbart/htop
2020-10-20 10:27:34 +02:00
Daniel Lange
0ea18a6edb
Merge branch 'Xalloc_Cleanup' of cgzones/htop
2020-10-20 10:23:47 +02:00
Daniel Lange
9f1a9ab2c2
Merge branch 'header_pause' of cgzones/htop
...
Continue to update generic data in paused mode
2020-10-20 10:17:58 +02:00
Daniel Lange
a0fb6e34f9
Merge branch 'number-cpus-from-zero' of zevweiss/htop
...
* This changes the default to count CPUs from zero (instead of starting at one)
* Settings logic is inverted, backwards compatibility is preserved
2020-10-20 10:06:15 +02:00
Daniel Lange
475fd1ec2d
Merge branch 'help_lines' of https://github.com/cgzones/htop
2020-10-20 10:01:16 +02:00
Daniel Lange
2d57d289b1
Merge branch 'cache_pagesize' of cgzones/htop
2020-10-20 09:52:27 +02:00
Christian Göttsche
4c66eb6d4c
XUtils string related updates
...
- allow count out-parameter of String_split() to be NULL
- introduce xStrndup()
- do not allow NULL pointers passed to String_eq()
it is not used in any code
- implement String_startsWith(), String_contains_i() and String_eq()
as inline header functions
- adjust several conversion issues
2020-10-19 15:38:45 +02:00
Christian Göttsche
577416d1a9
Assert allocating non-zero size memory
...
Allocating zero size memory results in implementation-defined behavior:
man:malloc(3) :
If size is 0, then malloc() returns either NULL, or a unique pointer
value that can later be successfully passed to free().
2020-10-19 15:35:43 +02:00
Christian Göttsche
96e2a4259e
Continue to update generic data in paused mode
...
Generic data, as CPU and memory usage, are used by Meters.
In paused mode they would stop receiving updates and especially Graph
Meters would stop showing continuous data.
Improves: #214
Closes : #253
2020-10-19 14:45:39 +02:00
Christian Göttsche
361877454f
Cache PAGE_SIZE
...
man:sysconf(3) states:
The values obtained from these functions are system configuration constants.
They do not change during the lifetime of a process.
2020-10-19 14:42:35 +02:00
Christian Göttsche
0db398d4c3
Allow low and high value of CLAMP to be equal
...
Can for example occur in RichString_setAttrn(), when pausing and
resuming process tracing:
htop: RichString.c:56: void RichString_setAttrn(RichString *, int, int, int): Assertion `(0) < (this->chlen - 1)' failed.
./htop(backtrace+0x5b)[0x45d9eb]
./htop(CRT_handleSIGSEGV+0x189)[0x4ebab9]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x14140)[0x7fd249d35140]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x141)[0x7fd249b6ac41]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x123)[0x7fd249b54537]
/lib/x86_64-linux-gnu/libc.so.6(+0x2540f)[0x7fd249b5440f]
/lib/x86_64-linux-gnu/libc.so.6(+0x345c2)[0x7fd249b635c2]
./htop(RichString_setAttrn+0x234)[0x526de4]
./htop(RichString_setAttr+0x50)[0x5275c0]
./htop(Panel_draw+0x17b6)[0x514c26]
./htop(InfoScreen_run+0x305)[0x4fe7a5]
./htop[0x4d59d8]
./htop[0x5029cf]
./htop(ScreenManager_run+0x69f)[0x52a82f]
./htop(main+0x704)[0x4f8774]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea)[0x7fd249b55cca]
./htop(_start+0x2a)[0x4268ea]
2020-10-19 14:13:58 +02:00
Benny Baumann
0f5262917f
Make all required includes explicit
...
Information as seen by IWYU 0.12 + clang 9 on Linux
2020-10-18 20:09:05 +02:00
Benny Baumann
29346d0561
Provide basic configuration for IWYU
2020-10-18 20:07:12 +02:00
Daniel Lange
8c93f31809
Merge branch 'misaligned-struct-access' of BenBE/htop
...
Closes #263
2020-10-18 19:43:59 +02:00
Daniel Lange
8534dcb87c
Merge branch 'strace-leaks' of BenBE/htop
...
Closes #262
2020-10-18 19:43:24 +02:00
Benny Baumann
3e5bc034e5
Ensure full initialization of all fields
2020-10-18 17:35:32 +02:00
Benny Baumann
4dfedd3930
Fix various file descriptor leaks
2020-10-18 17:35:32 +02:00
Benny Baumann
81543253cf
Fix misaligned access inside taskstats structure
...
Reported by UB sanitizer (alongside several other messages):
linux/LinuxProcessList.c:782:25: runtime error: member access within misaligned address 0x614000000264 for type 'struct taskstats', which requires 8 byte alignment
0x614000000264: note: pointer points here
64 01 03 00 0a 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 4b c8 2e 00 00 00 00 00 3e 45 3c fd
^
The issue doesn't cause trouble on x86, but any architecture with stricter memory alignment requirements may inadvertedly break.
2020-10-18 17:20:34 +02:00
Benny Baumann
c138d14897
Release old memory on error
...
Avoids leaking memory upon realloc failure.
2020-10-17 20:54:14 +02:00
Benny Baumann
5e4b182616
Combine XAlloc.[ch] into XUtils.[ch]
2020-10-17 20:54:14 +02:00
Benny Baumann
872e542f4e
Rename StringUtils.[ch] to XUtils.[ch]
2020-10-16 20:30:21 +02:00
Benny Baumann
c6f04a9c5d
Move xAsprintf, xSnprintf and xStrdup to StringUtils.h
2020-10-16 20:29:45 +02:00
Christian Göttsche
7cd093ce95
Add NetworkIOMeter
2020-10-16 20:00:14 +02:00
Christian Göttsche
a802961286
Generalize Meter value colors for IO
2020-10-16 20:00:14 +02:00
Christian Göttsche
e9246abff8
Misc Vector updates
...
- Move swap() macro to source file and implement as function
- Implement Vector_get() and Vector_size() as inline functions
to make them type safe and avoid lhs usage
- Comment comparison statistics, they are only needed for performance
testing
2020-10-16 19:47:34 +02:00
Christian Göttsche
a63cfc8b7c
Refactor generating starttime string into Process class
2020-10-16 19:23:40 +02:00
Christian Göttsche
783be7711d
Do not use extra starttime process field on Linux
2020-10-16 19:23:40 +02:00