summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-04-10Bump version to 2.2.02.2.0Hisham Muhammad
2018-04-10Update ChangeLogHisham Muhammad
2018-04-10Add tree view flag to man page (#777)Daniel Flanagan
2018-04-06Require pkg-config as an optional build dependency on Linux (#775)Hisham Muhammad
With this commit: * if pkgconfig is installed, it will expand the code inside the shell if, adding the pkgconfig-based tests for the dependencies of Linux delay accounting. * if pkgconfig is not installed, it will add an error message inside the test of Linux delay accounting, telling the user to install pkgconfig and rebuild the configure script if they want to use Linux delay accounting. The end result is: * people running Linux * will not need pkgconfig when not using delay accounting * will need pkgconfig when using delay accounting * if they don't have it * they are told by configure they need to install it and re-run autogen.sh when running from Git * they are told by configure they need to install it and re-run configure when running from the tarball * people not running Linux * will never need pkgconfig ...and in none of the above scenarios the generated configure script produces unexpanded macros for users checking out the sources from Git.
2018-04-05MakeHeader.py: Fix for non-utf8 environments (#770)volkov-am
Header creation fails with non-utf8 locale and python3. Simply set LC_ALL="C" and use python3 to reproduce the issue. env LC_ALL="C" ./scripts/MakeHeader.py MetersPanel.c Traceback (most recent call last): File "./scripts/MakeHeader.py", line 32, in <module> for line in file.readlines(): File "/usr/lib64/python3.5/encodings/ascii.py", line 26, in decode return codecs.ascii_decode(input, self.errors)[0] UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 956: ordinal not in range(128) This changes is python2 and python3 compatible cStringIO.StringIO module is removed because it is not able to accept unicode strings https://docs.python.org/2/library/stringio.html#cStringIO.StringIO
2018-04-05Add -t command-line flag for tree viewDaniel Flanagan
2018-04-05macOS: fix the switched version test (#772)pmalhaire
2018-04-05Solaris: update proc state letters to reflect Solaris usageGuy M. Broome
2018-04-05Solaris: bump copyright in Platform.{c,h}Guy M. Broome
2018-04-05Solaris: fix a memory leak caused by calling ProcessList_getProcess twice ↵Guy M. Broome
for each LWP
2018-04-05Solaris: Implement process environment listingGuy M. Broome
2018-04-05Solaris: add placeholder message about environment listingGuy M. Broome
2018-04-05Solaris: showing a dash for the top-level process is no longer necessaryGuy M. Broome
2018-04-05Solaris: add warning about proc_walk_f callback functionGuy M. Broome
2018-04-05Solaris: condense separate process vs lwp handling down to a single workflowGuy M. Broome
2018-04-05Solaris: get completely out of the file handling business using libprocGuy M. Broome
2018-04-05Solaris: Condense conditional blocks for new vs old LWPs and procsGuy M. Broome
2018-04-05Solaris: remove unneeded accumulators for process and thread countingGuy M. Broome
2018-04-05Solaris: Assorted post-LWP code cleanupGuy M. Broome
2018-04-05Solaris: Implement kernel thread countingGuy M. Broome
2018-04-05Solaris: If a process has a running LWP, then the process is by definition ↵Guy M. Broome
running
2018-04-05Collapse current subtree pressing BackspaceHisham Muhammad
2018-03-27Solaris: Implement LWP enumeration (#768)gmbroome
Squashed the following commits: * Solaris: Get LWP enumeration working * Solaris: Make showing and hiding of kernel threads behave * Solaris: remove usage of lwpstatus that is no longer needed * Solaris: no discrete access to parent proc structure needed * Solaris: Restore runtime MaxPid detection after LWP changes * Solaris: Workaround virtual PID signal issue by shadowing kill() with a macro * Solaris: Fix unintention double-shifting of virtual PID for LWP enumeration * Solaris: Add LWPID to default display since LWP enumeration is also default * Solaris: use PAGE_SIZE_KB from Process.h instead of custom definition * Solaris: stop LWP enumeration at 1023 LWPs per proc since that is all we can handle in the virtual PID
2018-03-26OpenBSD: read Battery datanerd972
Signed-off-by: Hisham Muhammad <hisham@gobolinux.org>
2018-03-26macOS: keep scanning thread for versions before High Sierra (#728)pmalhaire
Keep scanning threads for versions before High Sierra 13.0.0 and after 13.3.0.
2018-03-26Solaris: Fix virt and resident memory sizes. Was using KiB, needed pages.Guy M. Broome
2018-03-26New makefile targets to rebuild and clean htop headers.Explorer09
`make htop-headers` will regenerate all '.h' headers in htop source for all platforms. `make clean-htop-headers` will delete all generated htop headers. Because of the introduction of these two targets, I slightly changed the style of platform-specific portions of makefile rules. Please comment if you accept such a style, or need me to revert to old style. Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
2018-03-25Linux: change how kernel threads are detectedHisham Muhammad
Use the same method that ps and top use to determine if a process is a kernel thread on Linux: check if cmdline is empty. Thanks to @wangqr's investigation reported here: https://github.com/hishamhm/htop/issues/761#issuecomment-375306069 Fixes #761.
2018-03-25Fix overflow for signals >= 100.Hisham Muhammad
Thanks to @gzip4 for tracking this down. Closes #764.
2018-03-25strace: increase string lengthHisham Muhammad
2018-03-16Solaris: code indentation fixgmbroome
2018-03-16Solaris: enough changes made to justify a copyright bump to 2018Guy M. Broome
2018-03-16Solaris: fix memory allocation for usernames (some empty usernames in 32-bit ↵Guy M. Broome
builds)
2018-03-16Solaris: fix malloc() / free() issues with zone name handlingGuy M. Broome
2018-03-16Solaris: Link against libmalloc to fix various crashesGuy M. Broome
2018-03-16Solaris: Import backtrace-on-abort from Linux, with minor modification for ↵Guy M. Broome
Solaris
2018-03-16Use fork/exec instead of popen to run lsof (#757)wangqr
Fixes #675
2018-03-16Use AM_CFLAGS and AM_LDFLAGS in Makefile.am (#760)Kang-Che Sung (宋岡哲)
This reduces generated Makefile.in size by 74%. (217319 bytes -> 56326 bytes) Automake considers that <prog>_CFLAGS and <prog>_LDFLAGS are program-specific build rules, and when such are specified, Automake will generate additional code just to avoid the "generic" and package-wide AM_CFLAGS or AM_LDFLAGS. (Especially for <prog>_CFLAGS, Automake will rename generated object files to become "prog-foo.o" and such, and it's _a lot_ of code to achieve this in Makefile.) There's no reason for htop to rename intermediate object files. It's better to make things simpler. Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
2018-03-02Import Solaris support (#741)gmbroome
This commit adds support for Solaris, squashed from PR #741: Summary of additions: * Initial setup of Solaris platform directory * Add Solaris platform into autoconf template * Uptime and load averages * Add dependency on libkstat * Basic process listing * Zone name display * CPU detection * Per-process memory and CPU usage parsed correctly * Uses sysconf to discover number of CPUs, instead of more complex libkstat code * Simple memory display working * Reduce repetitive calls to the PAGE_SIZE macro when reading memory info * Add Project, Contract, Task, and Pool into process properties * Use system major()/minor() implementations and remove extraneous definition of mkdev() * Get the STARTTIME column working properly, using the Linux implementation as a guide
2018-02-26Fix bashisms (#749)Jesin
The configure script relied on bash-specific extensions to shell syntax and behavior, causing build failures on systems with other /bin/sh implementations. This commit replaces those with equivalent constructs that should work in all POSIX shells.
2018-02-26Add Contributing Guide!Hisham Muhammad
2018-02-26Updates to generated header filesHisham Muhammad
2018-02-26Protect against overflows in RichString_setAttrnHisham Muhammad
2018-02-26Update ChangeLogHisham Muhammad
2018-02-26use CFLAGS from ncurses*-config, if present (#745)Michael Klein
Fixes #695.
2018-02-26Fix build failure ('major' undefined) in glibc 2.28. (#746)Kang-Che Sung (宋岡哲)
glibc 2.28 no longer defines 'major' and 'minor' in <sys/types.h> and requires us to include <sys/sysmacros.h>. (glibc 2.25 starts deprecating the macros in <sys/types.h>.) Now do include the latter if found on the system. At the moment, let's also utilize AC_HEADER_MAJOR in configure script. However as Autoconf 2.69 has not yet updated the AC_HEADER_MAJOR macro to reflect the glibc change [1], so add a workaround code. Fixes #663. Supersedes pull request #729. Reference: [1] https://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commit;h=e17a30e987d7ee695fb4294a82d987ec3dc9b974 Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
2018-02-18Remove unused function from unsupported/Hisham Muhammad
2018-02-18Make settings file finding sequence more straightforwardHisham Muhammad
Avoid unnecessary access() call and make code read more linearly.
2018-02-18Only consider a read successful when the file seems validHisham Muhammad
Require at least the `fields` entry to be present, so we can have a decent guess that it was indeed a settings file.
2018-02-18Replace size_t with int/void* unionHisham Muhammad
I was occasionally passing negative values to size_t. Plus, this better reflects the intent of the variant argument. Reported by Coverity: https://scan8.coverity.com/reports.htm#v13253/p10402/fileInstanceId=22093891&defectInstanceId=7543346&mergedDefectId=174179&fileStart=251&fileEnd=500