summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update ChangeLog3.1.0rc1Nathan Scott2021-08-271-6/+143
|
* Merge branch 'shorten_crash_report' of cgzones/htop, rebased by BenBEDaniel Lange2021-08-262-65/+70
|\
| * Shorten crash output to fit on screenChristian Göttsche2021-08-262-65/+70
| |
* | Remove license excemption for PLPA and update GPL-2 license textDaniel Lange2021-08-261-37/+21
|/ | | | | | | | | | | The Portable Linux Processor Affinity (PLPA) project has been depreciated in favour of the Portable Hardware Locality (hwloc) project. So the license exception present in previous versions of htop is obsolete and thus removed. The text of COPYING has been updated to the latest upstream license text of GPL-2 from the Free Software Foundation, Inc. (FSF). There are only editorial changes like line wrapping, removing page breaks, updating the "19yy" to "<year>" and changing the FSF address.
* Clarify naming of Platform_nanosecondsPerSchedulerTickBenny Baumann2021-08-252-5/+5
|
* Merge branch 'refactor-Darwin-platform-unit-conversion-helpers' of ↵Daniel Lange2021-08-254-28/+33
|\ | | | | | | amomchilov/htop
| * Refactor Darwin platform unit conversion helpersAlexander Momchilov2021-08-254-28/+33
|/
* Merge branch 'fix-macOS-time-calculations' of amomchilov/htopDaniel Lange2021-08-253-14/+34
|\
| * Style touch-upsAlexander Momchilov2021-08-232-6/+6
| |
| * Fix macOS CPU time calculationsAlexander Momchilov2021-08-233-14/+34
| |
* | configure: resolve autotools 2.70 deprecation warningsChristian Göttsche2021-08-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | configure.ac:72: warning: The macro `AC_PROG_CC_C99' is obsolete. configure.ac:72: You should run autoupdate. ./lib/autoconf/c.m4:1659: AC_PROG_CC_C99 is expanded from... configure.ac:72: the top level configure.ac:134: warning: The macro `AC_HEADER_STDC' is obsolete. configure.ac:134: You should run autoupdate. ./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from... configure.ac:134: the top level
* | IWYU updateChristian Göttsche2021-08-2532-26/+47
| |
* | IWYU: add two header rulesChristian Göttsche2021-08-251-0/+4
| |
* | XUtils: move implementation of String_contains_i out of header fileChristian Göttsche2021-08-252-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function strcasestr(3) is only available if _GNU_SOURCE is defined. If any file includes <string.h> before declaring _GNU_SOURCE, e.g by including "config.h", compilation fails with the following error: In file included from ColumnsPanel.c:8: In file included from ./ColumnsPanel.h:12: In file included from ./Panel.h:13: In file included from ./CRT.h:16: In file included from ./Settings.h:17: In file included from ./Process.h:15: In file included from ./Object.h:17: ./XUtils.h:42:11: error: implicit declaration of function 'strcasestr' is invalid in C99 [-Werror,-Wimplicit-function-declaration] return strcasestr(s1, s2) != NULL; ^ ./XUtils.h:42:11: note: did you mean 'strcasecmp'? /usr/include/strings.h:116:12: note: 'strcasecmp' declared here extern int strcasecmp (const char *__s1, const char *__s2) ^ Move the implementation to avoid unnecessary includes. Since LTO is quite common and stable performance should not be impacted if used.
* | Merge branch 'hlayout_id' of cgzones/htopDaniel Lange2021-08-242-11/+33
|\ \
| * | HeaderLayout: save name in configurationChristian Göttsche2021-08-242-11/+33
|/ / | | | | | | | | | | Use a name in the user configuration file instead of the compile time enum value, so that future reorderings or insertions do not change the user selected layout.
* | Unsupported: update platformChristian Göttsche2021-08-244-9/+2
| |
* | Merge branch 'header_fmt' of cgzones/htopDaniel Lange2021-08-2314-193/+457
|\ \
| * | Tiny cleanup from review commentsDaniel Lange2021-08-231-2/+2
| | |
| * | Simplify adding pages in one placeBenny Baumann2021-08-223-30/+24
| | |
| * | Add option to change Header layoutChristian Göttsche2021-08-2212-167/+437
| | |
* | | Merge branch 'config_versions' of fasterit/htopDaniel Lange2021-08-232-1/+14
|\ \ \
| * | | Apply approved warning message suggested by nathansDaniel Lange2021-08-231-4/+4
| | | |
| * | | Introduce versioned config files and config_reader_min_versionDaniel Lange2021-08-132-1/+14
| | | |
* | | | Simplify delay.tv_usec calculation from BenBEDaniel Lange2021-08-231-1/+1
| |_|/ |/| | | | | | | | Closes #761
* | | Widen integer type before multiplicationChristian Göttsche2021-08-221-1/+1
| | | | | | | | | | | | | | | | | | Meter.c:320:71: warning: performing an implicit widening conversion to type '__suseconds_t' (aka 'long') of a multiplication performed in type 'int' [bugprone-implicit- widening-of-multiplication-result] struct timeval delay = { .tv_sec = globalDelay / 10, .tv_usec = (globalDelay - ((globalDelay / 10) * 10)) * 100000 }; ^
* | | Use break inside loop with false conditionChristian Göttsche2021-08-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found by clang-tidy. home/christian/Coding/workspaces/htop/Process.c:505:13: warning: 'continue' in loop with false condition is equivalent to 'break' [bugprone-terminating-continue] WRITE_HIGHLIGHT(0, strlen(procComm), commAttr, CMDLINE_HIGHLIGHT_FLAG_COMM); ^ /home/christian/Coding/workspaces/htop/Process.c:461:13: note: expanded from macro 'WRITE_HIGHLIGHT' continue; \ ^
* | | Align parameters names between function declaration and definitionChristian Göttsche2021-08-222-2/+2
| |/ |/| | | | | Found by clang-tidy.
* | Only request selection index in ColorsPanel when neededBenny Baumann2021-08-221-1/+2
| |
* | Removed unused field in ColorsPanelBenny Baumann2021-08-223-5/+3
| |
* | MemorySwapMeter: use full width on odd total widthChristian Göttsche2021-08-221-4/+2
| |
* | Meter: update documentation to match Doxygen styleChristian Göttsche2021-08-221-1/+1
| |
* | Linux: do not scan frequency for inactive CPUsChristian Göttsche2021-08-221-0/+3
| |
* | Abstract resize handling by adding a new Htop reactionChristian Göttsche2021-08-225-5/+11
| |
* | ScreenManager: reduce ScreenManager_resizeChristian Göttsche2021-08-225-17/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | The main change is the header hight being not included in y1. This is important if a sub-manager gets resized, e.g. a resize while editing the Settings or in a pickFromVector selection, and afterwards, then the sub-manager is closed, the super-ScreenManager gets resized, it uses the correct header hight. The header hight might have been changed since the last resize of the super-manager in the Settings by adding/removing some meters. This fixes new meters being hidden after added at runtime after a resize in the main window.
* | Action: specify implication in code not in commentsChristian Göttsche2021-08-221-8/+8
| |
* | Merge branch 'read-settings-defaults' of bjpbakker/htopDaniel Lange2021-08-181-16/+7
|\ \
| * | Read settings after applying defaultsBart Bakker2021-08-021-16/+7
| | | | | | | | | | | | | | | | | | | | | | | | Default settings are used as a base and only settings specified in `htoprc` are applied on top of it. This patch removes the special case for applying some defaults when the config does not contain a `meters` key. All defauls are set before any attempt to read settings, so only keys actually present in the config file are overridden.
* | | Spell out virtualizedDaniel Lange2021-08-181-2/+2
| | |
* | | Meter: limit LED mode by widthChristian Göttsche2021-08-171-1/+6
| | | | | | | | | | | | Stop displaying LED-mode if maximum width is reached.
* | | Add combined memory and swap meterChristian Göttsche2021-08-1712-0/+139
| | | | | | | | | | | | Closes: #699
* | | Merge pull request #747 from natoscott/coverityNathan Scott2021-08-175-9/+13
|\ \ \ | | | | | | | | Coverity scan updates (minor)
| * | | Apply suggestions from code reviewNathan Scott2021-08-172-2/+2
| | | | | | | | | | | | Co-authored-by: BenBE <BenBE@geshi.org>
| * | | PCP: ensure unsigned types used throughout CPU count detectionNathan Scott2021-08-173-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This cannot be negative in these code locations, but for the purposes of static checking like Coverity scan make it clear and used the same unsigned type as ProcessList.h for the CPU count variable (matching PL activeCPUs and existingCPUs).
| * | | Ensure DynamicColumn hash lookups never see NULL pointersNathan Scott2021-08-172-2/+6
|/ / / | | | | | | | | | | | | | | | This cannot happen in these code locations, but for the purposes of static checkers like Coverity scan (and for future proofing), add two more guards on NULL hash table entry pointers.
* | | PCP: PCPMetric.[ch] MdouleSohaib2021-08-1612-463/+527
| | | | | | | | | | | | | | | Split the PCP Metric API (functions `Metric_*`) into their own module. as @BenBE suggested.
* | | Simplify Action_pickFromVector() width parameter usageChristian Göttsche2021-08-162-6/+5
| | | | | | | | | | | | Pass one less instead of subtracting one inside the function.
* | | Reset the signal handlers at program exitChristian Göttsche2021-08-163-15/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The signal handler will access the Settings struct, which gets freed at normal program finalization. When using leak sanitizers with ASAN_OPTIONS=abort_on_error=1, which runs after program termination, any leak causes SIGABRT to be raised, calling the crash handler, which will derefernce the freed Settings. ==44741==ERROR: AddressSanitizer: heap-use-after-free on address 0x60d000000080 at pc 0x0000005680df bp 0x7fffe335e960 sp 0x7fffe335e958 READ of size 8 at 0x60d000000080 thread T0 #0 0x5680de in Settings_write /home/christian/Coding/workspaces/htop/Settings.c:329:26 #1 0x4f77b7 in CRT_handleSIGSEGV /home/christian/Coding/workspaces/htop/CRT.c:1020:4 #2 0x7f8a1120c13f (/lib/x86_64-linux-gnu/libpthread.so.0+0x1413f) #3 0x7f8a11042ce0 in __libc_signal_restore_set signal/../sysdeps/unix/sysv/linux/internal-signals.h:86:3 #4 0x7f8a11042ce0 in raise signal/../sysdeps/unix/sysv/linux/raise.c:48:3 #5 0x7f8a1102c536 in abort stdlib/abort.c:79:7 #6 0x4c3db6 in __sanitizer::Abort() (/home/christian/Coding/workspaces/htop/htop+0x4c3db6) #7 0x4c2090 in __sanitizer::Die() (/home/christian/Coding/workspaces/htop/htop+0x4c2090) #8 0x4d0a17 in __lsan::HandleLeaks() (/home/christian/Coding/workspaces/htop/htop+0x4d0a17) #9 0x4cd950 in __lsan::DoLeakCheck() (/home/christian/Coding/workspaces/htop/htop+0x4cd950) #10 0x7f8a110454d6 in __run_exit_handlers stdlib/exit.c:108:8 #11 0x7f8a11045679 in exit stdlib/exit.c:139:3 #12 0x7f8a1102dd10 in __libc_start_main csu/../csu/libc-start.c:342:3 #13 0x428a19 in _start (/home/christian/Coding/workspaces/htop/htop+0x428a19) 0x60d000000080 is located 64 bytes inside of 144-byte region [0x60d000000040,0x60d0000000d0) freed by thread T0 here: #0 0x4a4f72 in free (/home/christian/Coding/workspaces/htop/htop+0x4a4f72) #1 0x566693 in Settings_delete /home/christian/Coding/workspaces/htop/Settings.c:32:4 #2 0x4ede10 in CommandLine_run /home/christian/Coding/workspaces/htop/CommandLine.c:393:4 #3 0x4d6f32 in main /home/christian/Coding/workspaces/htop/htop.c:15:11 #4 0x7f8a1102dd09 in __libc_start_main csu/../csu/libc-start.c:308:16 previously allocated by thread T0 here: #0 0x4a5372 in __interceptor_calloc (/home/christian/Coding/workspaces/htop/htop+0x4a5372) #1 0x57f61a in xCalloc /home/christian/Coding/workspaces/htop/XUtils.c:55:17 #2 0x5688a6 in Settings_new /home/christian/Coding/workspaces/htop/Settings.c:392:21 #3 0x4ecb57 in CommandLine_run /home/christian/Coding/workspaces/htop/CommandLine.c:303:25 #4 0x4d6f32 in main /home/christian/Coding/workspaces/htop/htop.c:15:11 #5 0x7f8a1102dd09 in __libc_start_main csu/../csu/libc-start.c:308:16 SUMMARY: AddressSanitizer: heap-use-after-free /home/christian/Coding/workspaces/htop/Settings.c:329:26 in Settings_write
* | | Use proper metric to detect kernel threadsBenny Baumann2021-08-161-1/+1
| | | | | | | | | | | | | | | | | | Querying kernel threads with `ps -o pid,lid,flags,state,lname -sp 0` gives that kernel threads have state `K` and flags have mask `0x20000` set. This corresponds to `LW_SYSTEM` in kernel which is mapped as `L_SYSTEM`/`P_SYSTEM` for userspace.
* | | Build fix for NetBSDfraggerfox2021-08-162-3/+3
| | |

© 2014-2024 Faster IT GmbH | imprint | privacy policy