Commit Graph

1073 Commits

Author SHA1 Message Date
Daniel Flanagan 9b4bdfcb3e Add -t command-line flag for tree view 2018-04-06 11:14:09 -03:00
pmalhaire 7a71f9cf32 macOS: fix the switched version test (#772) 2018-04-06 11:14:09 -03:00
Guy M. Broome c91b0938d5 Solaris: update proc state letters to reflect Solaris usage 2018-04-06 11:14:09 -03:00
Guy M. Broome 4f934c977d Solaris: bump copyright in Platform.{c,h} 2018-04-06 11:14:09 -03:00
Guy M. Broome d1696b5d5d Solaris: fix a memory leak caused by calling ProcessList_getProcess twice for each LWP 2018-04-06 11:14:09 -03:00
Guy M. Broome beb47cbb12 Solaris: Implement process environment listing 2018-04-06 11:14:09 -03:00
Guy M. Broome 677cac9fab Solaris: add placeholder message about environment listing 2018-04-06 11:14:09 -03:00
Guy M. Broome 6790e004cd Solaris: showing a dash for the top-level process is no longer necessary 2018-04-06 11:14:09 -03:00
Guy M. Broome 8677162836 Solaris: add warning about proc_walk_f callback function 2018-04-06 11:14:09 -03:00
Guy M. Broome 475798e8ab Solaris: condense separate process vs lwp handling down to a single workflow 2018-04-06 11:14:09 -03:00
Guy M. Broome 7689c5c3b7 Solaris: get completely out of the file handling business using libproc 2018-04-06 11:14:09 -03:00
Guy M. Broome c2ab3ac422 Solaris: Condense conditional blocks for new vs old LWPs and procs 2018-04-06 11:14:09 -03:00
Guy M. Broome 61bb649e0a Solaris: remove unneeded accumulators for process and thread counting 2018-04-06 11:14:09 -03:00
Guy M. Broome b8ec1c0337 Solaris: Assorted post-LWP code cleanup 2018-04-06 11:14:09 -03:00
Guy M. Broome 499af738e7 Solaris: Implement kernel thread counting 2018-04-06 11:14:09 -03:00
Guy M. Broome 416ef48a62 Solaris: If a process has a running LWP, then the process is by definition running 2018-04-06 11:14:09 -03:00
Hisham Muhammad b9e0da9200 Collapse current subtree pressing Backspace 2018-04-06 11:14:09 -03:00
gmbroome 509303323f Solaris: Implement LWP enumeration (#768)
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-04-06 11:14:09 -03:00
nerd972 421a31d6f1 OpenBSD: read Battery data
Signed-off-by: Hisham Muhammad <hisham@gobolinux.org>
2018-04-06 11:14:09 -03:00
pmalhaire d4c4c02b97 macOS: keep scanning thread for versions before High Sierra (#728)
Keep scanning threads for versions before High Sierra 13.0.0 and after 13.3.0.
2018-04-06 11:14:09 -03:00
Guy M. Broome 1ef20d1f14 Solaris: Fix virt and resident memory sizes. Was using KiB, needed pages. 2018-04-06 11:14:09 -03:00
Explorer09 1ab5afa1fe New makefile targets to rebuild and clean htop headers.
`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-04-06 11:14:04 -03:00
Hisham Muhammad 00d1fb019a Linux: change how kernel threads are detected
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-04-06 11:13:30 -03:00
Hisham Muhammad dd175b6881 Fix overflow for signals >= 100.
Thanks to @gzip4 for tracking this down.

Closes #764.
2018-04-06 11:13:30 -03:00
Hisham Muhammad 7ad9701a12 strace: increase string length 2018-04-06 11:13:30 -03:00
gmbroome 881fe9631a Solaris: code indentation fix 2018-04-06 11:13:30 -03:00
Guy M. Broome 0de77c7075 Solaris: enough changes made to justify a copyright bump to 2018 2018-04-06 11:13:30 -03:00
Guy M. Broome 0f71db9d82 Solaris: fix memory allocation for usernames (some empty usernames in 32-bit builds) 2018-04-06 11:13:30 -03:00
Guy M. Broome da4010783e Solaris: fix malloc() / free() issues with zone name handling 2018-04-06 11:13:30 -03:00
Guy M. Broome 3f7622a302 Solaris: Link against libmalloc to fix various crashes 2018-04-06 11:13:30 -03:00
Guy M. Broome df5d81a881 Solaris: Import backtrace-on-abort from Linux, with minor modification for Solaris 2018-04-06 11:13:30 -03:00
wangqr 6c2b3b546d Use fork/exec instead of popen to run lsof (#757)
Fixes #675
2018-04-06 11:13:30 -03:00
Kang-Che Sung (宋岡哲) f48f5a10ca Use AM_CFLAGS and AM_LDFLAGS in Makefile.am (#760)
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-04-06 11:13:30 -03:00
gmbroome 1aa23925c9 Import Solaris support (#741)
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-04-06 11:13:30 -03:00
Sebastian Martin Dicke 2e1f56d934 Changed type of some integer variables to avoid overflows 2018-03-16 12:01:24 -03:00
Hisham Muhammad 6ee99566cd Bump version to 3.0.0beta3 2018-02-26 20:13:09 -03:00
Hisham Muhammad dc6bb069f0 Update generated header 2018-02-26 20:13:09 -03:00
Hisham Muhammad 0169577019 Fix inttypes.h header 2018-02-26 20:13:09 -03:00
Hisham Muhammad 0e38be9ee7 Darwin: expose LAST_PROCESSFIELD like the other platforms 2018-02-26 20:13:09 -03:00
Hisham Muhammad 8e6c1e1bac Add more default screens 2018-02-26 20:13:09 -03:00
Hisham Muhammad 709619800f Only compute counters is process is shown 2018-02-26 20:13:09 -03:00
Hisham Muhammad a72439c9b7 Implemented various performance counters 2018-02-26 20:13:09 -03:00
Hisham Muhammad 61e94c1b5b Add IPC performance counter for Linux 2018-02-26 20:13:09 -03:00
Hisham Muhammad b9f5892593 Add perf counter object 2018-02-26 20:13:09 -03:00
Hisham Muhammad 267d03b6d8 configure.ac: add --enable-perfcounters 2018-02-26 20:13:09 -03:00
Hisham Muhammad 3b819daf82 Set default sort keys in default screens 2018-02-26 20:13:09 -03:00
Hisham Muhammad d9f8cdf0a6 Add `make symbols` target 2018-02-26 20:13:09 -03:00
Hisham Muhammad 59982a188c Store .sort_key as a string 2018-02-26 20:13:09 -03:00
Hisham Muhammad 0800424fe6 Match iotop's screen configuration 2018-02-26 20:13:09 -03:00
Hisham Muhammad b4a8f048d1 Use screen's flags when reading process data 2018-02-26 20:13:09 -03:00