Commit Graph

1091 Commits

Author SHA1 Message Date
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
Hisham Muhammad 2df1f61d77 Screens: Fix "New Screen" option 2018-02-26 20:13:09 -03:00
Hisham Muhammad e6c98b6e8e htoprc: store screen 0's setup for improved compatibility 2018-02-26 20:13:09 -03:00
Hisham Muhammad b815e4c7a3 Add support for multiple screens, switchable using Tab 2018-02-26 20:13:09 -03:00
Hisham Muhammad 4791050cea Begin add supporting for multiple screens 2018-02-26 20:13:09 -03:00
Hisham Muhammad 1edcfad874 Move responsibility for cursor placement to Panels 2018-02-26 20:13:09 -03:00
Jesin d4ea7cd65c Fix bashisms (#749)
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-26 20:07:52 -03:00
Hisham Muhammad 9ca1c993ac Add Contributing Guide! 2018-02-26 11:45:53 -03:00
Hisham Muhammad ccd156f8ba Updates to generated header files 2018-02-26 11:44:46 -03:00
Hisham Muhammad 858af2505f Protect against overflows in RichString_setAttrn 2018-02-26 11:05:12 -03:00
Hisham Muhammad 655c7293d2 Update ChangeLog 2018-02-26 10:54:01 -03:00
Michael Klein bc5d46982f use CFLAGS from ncurses*-config, if present (#745)
Fixes #695.
2018-02-26 10:19:01 -03:00
Kang-Che Sung (宋岡哲) c01f40eb3e Fix build failure ('major' undefined) in glibc 2.28. (#746)
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-26 10:15:05 -03:00
Hisham Muhammad eed18dd107 Remove unused function from unsupported/ 2018-02-18 21:18:53 -03:00
Hisham Muhammad f914617508 Make settings file finding sequence more straightforward
Avoid unnecessary access() call and make code read more linearly.
2018-02-18 20:42:17 -03:00
Hisham Muhammad 03b2581745 Only consider a read successful when the file seems valid
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-18 20:35:23 -03:00
Hisham Muhammad 8c653212c0 Replace size_t with int/void* union
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
2018-02-18 10:38:49 -03:00
Hisham Muhammad b064d501ae linux/Battery.c: make sure fd is always closed
Detected by Coverity:
https://scan8.coverity.com/reports.htm#v13252/p10402/fileInstanceId=22093957&defectInstanceId=7543348&mergedDefectId=174180
2018-02-18 10:21:22 -03:00
Hisham Muhammad ff78a1bfce Fix out-of-bounds read
Detected by Coverity:
https://scan8.coverity.com/reports.htm#v13252/p10402/fileInstanceId=22093847&defectInstanceId=7543344&mergedDefectId=174181
2018-02-18 10:17:56 -03:00
Hisham Muhammad f4f35da7e0 Fix indentation 2018-02-18 10:17:29 -03:00
Hisham Muhammad 76366be3f1 Update ChangeLog 2018-02-17 21:11:54 -02:00
Hisham Muhammad 6dda8d2586 linux/LinuxProcessList.c: Fix indentation. 2018-02-17 20:52:46 -02:00
guoci 5fca258f33 call clear() function when SIGWINCH is received. (#660) 2018-02-17 16:25:57 -02:00
Marc Kleine-Budde 70ed51a303 linux/LinuxProcessList: fix reading of number of read syscalls of process
The "if" tests if the character at index "5" is 'r', as a first quick
check. However at index "5" will always be a colon ":". This patch fixes
the off-by-one error. htop now shows proper values in the RD_SYSC
column.

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2018-02-17 16:14:34 -02:00
Hisham Muhammad df9922a67e Fix preservation of LDFLAGS value during configure script
Fixes #738.
2018-02-17 14:50:55 -02:00
Hisham Muhammad fcdff59f4c Update ChangeLog 2018-02-17 14:50:42 -02:00
Hisham Muhammad b544c22c72 Fix issue with small terminals.
Fixes #733.
2018-02-13 06:41:44 -02:00
Hisham Muhammad f37a050d3d Optimize Vector_size on non-debug builds 2018-02-05 11:01:35 +01:00
Hisham Muhammad 03f17688ad Handle unexpected values for character passed to isalnum
It seems that certain negative integer values can crash isalnum().
Let's protect against those.

Fixes #711.
2018-02-05 10:59:20 +01:00
Hisham Muhammad a32d7528f6 Check for pkgconfig's presence before using it.
Fixes #710.
2018-02-05 10:22:16 +01:00
Hisham Muhammad ac2dff2881 Fix color behavior on some terminals.
Fixes #635.
2018-02-05 07:20:27 +01:00
Hisham Muhammad c50440f165 Bump version to 2.1.0 2018-02-04 20:13:55 +01:00
Jan Chren (rindeal) b0588d90ff parseBatInfo: check `line` for NULL before passing it to String_getToken() 2018-02-04 17:04:47 +01:00