summaryrefslogtreecommitdiffstats
path: root/linux
Commit message (Collapse)AuthorAgeFilesLines
* Linux: change how kernel threads are detectedHisham Muhammad2018-03-253-6/+8
| | | | | | | | | | 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.
* Updates to generated header filesHisham Muhammad2018-02-261-0/+5
|
* Fix build failure ('major' undefined) in glibc 2.28. (#746)Kang-Che Sung (宋岡哲)2018-02-261-0/+6
| | | | | | | | | | | | | | | | | 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>
* Replace size_t with int/void* unionHisham Muhammad2018-02-181-1/+1
| | | | | | | | 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
* linux/Battery.c: make sure fd is always closedHisham Muhammad2018-02-181-4/+1
| | | | | Detected by Coverity: https://scan8.coverity.com/reports.htm#v13252/p10402/fileInstanceId=22093957&defectInstanceId=7543348&mergedDefectId=174180
* linux/LinuxProcessList.c: Fix indentation.Hisham Muhammad2018-02-171-26/+26
|
* linux/LinuxProcessList: fix reading of number of read syscalls of processMarc Kleine-Budde2018-02-171-1/+1
| | | | | | | | | 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>
* parseBatInfo: check `line` for NULL before passing it to String_getToken()Jan Chren (rindeal)2018-02-041-0/+2
|
* Add support for Linux TASK_IDLEVladimir Panteleev2018-02-041-1/+1
| | | | | | | | | | | | | | Linux commit 06eb61844d841d0032a9950ce7f8e783ee49c0d0 ("sched/debug: Add explicit TASK_IDLE printing") exposes kthreads idling using TASK_IDLE in procfs as "I (idle)". Until now, when sorting the STATE ("S") column, htop used the raw value of the state character for comparison, however that led to the undesirable effect of TASK_IDLE ('I') tasks being sorted above tasks that were running ('R'). Thus, explicitly recognize the idle process state, and sort it below others.
* Adds support for linux delay accounting (#667)André Carvalho2017-12-044-2/+189
| | | | | | Adds support for showing columns with linux delay accounting. This information can be read from the netlink interface, and thus we set up a socket to read from that when initializing the LinuxProcessList (LinuxProcessList_initNetlinkSocket). After that, for each process we call LinuxProcessList_readDelayAcctData, which sends a message thru the socket after setting up a callback to get the answer from the Kernel. That callback sets the process total delay time attribute. We then set the delay percent as the percentage of time process cpu time since last scan.
* Do not use xSnprintf when the result is used. Fixes #662.Hisham Muhammad2017-08-011-1/+1
|
* Security review: check results of snprintf.Hisham Muhammad2017-07-275-29/+29
| | | | | Calls marked with xSnprintf shouldn't fail. Abort program cleanly if any of them does.
* Merge branch 'master' of https://github.com/hishamhm/htopHisham Muhammad2017-07-261-1/+1
|\
| * Mark some things as constRichard2017-07-221-1/+1
| | | | | | | | | | | | | | Several string pointer arrays pointed to const strings but were not const themselves. A few various structures and arrays were also marked const.
* | Use regular readdir since readdir_r is deprecated and newer GCC complains.Hisham Muhammad2017-07-261-12/+6
|/
* Add "no perm" status when other fields fail due to lack of permission.Hisham Muhammad2017-07-101-1/+11
| | | | | Thanks @Sworddragon for the heads up. See #88.
* Set idle I/O prio to 0x6007, like ionice.Hisham Muhammad2017-07-052-2/+2
| | | | As suggested by @wolfgang42 in #100.
* Use class value only to display idle I/O priority.Hisham Muhammad2017-07-051-1/+1
| | | | As suggested by @wolfgang42. Fixes #100.
* Merge branch 'master' of https://github.com/hishamhm/htopHisham2017-02-151-2/+2
|\
| * Issue #502 fix SID colunm header widthKamyar Rasta2017-02-051-1/+1
| |
| * Issue #502 update Session ID columnKamyar Rasta2017-02-011-2/+2
| |
* | Cap battery at 100%.Hisham2017-02-151-0/+3
|/ | | | | Apparently invalid results can be returned by buggy drivers in old laptops, as reported by @thukydides. See #596.
* Interpret TTY_NR column on Linux,Hisham2016-10-014-24/+191
| | | | | translate dev_t to major:minor on other platforms. Closes #316.
* Mark signal tables 'const'Explorer092016-08-302-4/+4
| | | | | | | | | Specifically, Platform_signals[] and Platform_numberOfSignals. Both are not supposed to be mutable. Marking them 'const' puts them into rodata sections in binary. And for Platform_numberOfSignals, this aids optimization (aids only Link Time Optimization for now). :) Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
* Return when reading cmdline fails (e.g. zombie process)Hisham2016-08-241-10/+12
|
* Optimize Strings_startWith()Explorer092016-08-112-26/+3
| | | | | | | | | | | | | | | | | | | | | Use strncmp() combined with a strlen() will give better performance than a strstr in worst case. Especially when the match prefix is a constant and not a variable. While we are at it, replace the match() function in linux/Battery.c, which uses a naive algorithm, with a macro that does better job by utilizing Strings_startWith(). $ gcc --version | head -n 1 gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4 $ uname -m x86_64 $ size htop.old htop.new text data bss dec hex filename 137929 15112 3776 156817 26491 htop.old 137784 15104 3776 156664 263f8 htop.new Signed-off-by: Kang-Che Sung <explorer09 @ gmail.com>
* Dynamically adjust the size of line readsHisham Muhammad2016-06-191-8/+9
| | | | | | | * Dynamically adjust the size of line reads. * Remove some more uses of fgets with arbitrary sizes. * Fix reading of lines and width of n column. Fixes #514.
* Don't store invisible trailing whitespaceHisham2016-06-151-2/+5
|
* any of these values may wrapHisham2016-02-291-22/+14
|
* Catch invalid IO values due to no permissions.Hisham2016-02-201-1/+6
| | | | Display them properly. Not fully convinced of the "no perm" message...
* Try to retain last full name of a zombie process.Hisham2016-02-191-3/+3
| | | | | | | | | Once a process goes zombie on Linux, /proc/PID/cmdline gets empty. So, when we detect it is a zombie we stop reading this file. For processes that were zombies before htop started, there's no way to get the full name. Closes #49.
* Fix reading of io_syscr and io_syscw.Hisham2016-02-161-4/+5
| | | | | | Issue noticed by GCC6 -Wmisleading-indentation. Thanks @JIghtuse and @Explorer09! Closes #409.
* Disable the syscall on systems that don't have it.Hisham2016-02-141-1/+8
| | | | | | | Got a report in #397 that htop runs in NetBSD masquerading as Linux and using a compatibility /proc (like we used to in FreeBSD) and that it builds fine apart from this syscall.
* Fix buffer reuse.Hisham2016-02-131-1/+1
|
* Merge branch 'reuse-comm'Hisham2016-02-021-8/+17
|\
| * Reuse comm object if possible, avoid useless repetitions of free+strdup.Hisham2016-02-021-8/+17
| |
* | Check for failure in allocations.Hisham2016-02-024-9/+9
|/
* Introduce CLAMP macro. Unify all MIN(MAX(a,b),c) uses.Explorer092016-01-154-2/+18
| | | | | | | | | | | | | | | | | | | | | | | With the CLAMP macro replacing the combination of MIN and MAX, we will have at least two advantages: 1. It's more obvious semantically. 2. There are no more mixes of confusing uses like MIN(MAX(a,b),c) and MAX(MIN(a,b),c) and MIN(a,MAX(b,c)) appearing everywhere. We unify the 'clamping' with a single macro. Note that the behavior of this CLAMP macro is different from the combination `MAX(low,MIN(x,high))`. * This CLAMP macro expands to two comparisons instead of three from MAX and MIN combination. In theory, this makes the code slightly smaller, in case that (low) or (high) or both are computed at runtime, so that compilers cannot optimize them. (The third comparison will matter if (low)>(high); see below.) * CLAMP has a side effect, that if (low)>(high) it will produce weird results. Unlike MIN & MAX which will force either (low) or (high) to win. No assertion of ((low)<=(high)) is done in this macro, for now. This CLAMP macro is implemented like described in glib <http://developer.gnome.org/glib/stable/glib-Standard-Macros.html> and does not handle weird uses like CLAMP(a++, low++, high--) .
* Merge remote-tracking branch 'upstream/master' into envscreenMichael Klein2016-01-063-15/+23
|\
| * Merge branch 'master' of https://github.com/hishamhm/htopHisham Muhammad2016-01-031-1/+1
| |\
| | * Fix spelling of "maintainer"Michael McConville2016-01-021-1/+1
| | |
| * | Extend buffer for reading lines from /proc.Hisham Muhammad2015-12-142-14/+22
| |/ | | | | | | | | Apparently a line longer than 255 chars was spotted in the wild: http://serverfault.com/questions/577939/linux-ps-htop-show-processes-running-for-hundreds-or-thousands-of-days-though-h#comment676098_577939
* / Add Platform_getProcessEnvMichael Klein2015-12-032-0/+30
|/ | | | - currently implemented for darwin and linux
* Cached memory calculations, take 2.Hisham Muhammad2015-11-291-6/+2
| | | | Thanks to @OmegaPhil for discussion and reviewing.
* Account unreclaimable slab and shmem as used memory,Hisham Muhammad2015-11-281-15/+27
| | | | | | | | reclaimable slab as cached memory. Hopefully this presents a more truthful representation of available vs. used memory on Linux. See brndnmtthws/conky#82, #242, #67, #263.
* Merge pull request #298 from patrickmarlier/issue202Hisham Muhammad2015-10-261-5/+7
|\ | | | | Fix a case where the usertime calculation can overflow (see issue #202)
| * Fix a case where the usertime calculation can overflow (see issue #202)Patrick Marlier2015-09-141-5/+7
| |
* | Calculate CPU averages on Darwin (See #295).Hisham Muhammad2015-10-231-8/+8
| |
* | fixed broken merge, where I forgot to check linux/Platform.c so that it ↵Martin "eto" Misuth2015-10-061-5/+0
| | | | | | | | matches upstream
* | Added platform dependent DEFAULT_SIGNAL define, for now for:Martin "eto" Misuth2015-10-061-2/+7
| | | | | | | | | | | | FreeBSD Linux Other platforms will have it undefined for now.

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