| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Calls marked with xSnprintf shouldn't fail.
Abort program cleanly if any of them does.
|
| |
|
| |
|
|
|
|
|
| |
translate dev_t to major:minor on other platforms.
Closes #316.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
| |
Closes #546.
|
|\
| |
| | |
FreeBSD: fix multithreaded CPU% in process list
|
| |
| |
| |
| | |
LWPs
|
| |
| |
| |
| | |
This reverts commit f554f08fa92f8440faa853b5fa4d588829959c8a.
|
| | |
|
| | |
|
|\ \ |
|
| | | |
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| | |
This involves switching from kvm_open(3) to kvm_openfiles(3). The only
difference is that the latter has saner error reporting (see the man
page for details). We can now fatally report the error rather than just
calling assert(3).
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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--) .
|
|\ |
|
| |\
| | |
| | |
| | | |
mmcco-freebsd-free
|
| | |
| | |
| | |
| | | |
These are never necessary when using the standard library.
|
| |/ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
this caused htop to show processes as if freebsd kernel was their parent.
on next pass reparenting code took chance to run, and that caused process to jump around.
this fixed behaviour should be the correct one
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
process monitor
|
| | |
|
|/
|
|
| |
- currently implemented for darwin and linux
|
|
|
|
| |
Closes #293.
|
|
|
|
|
|
|
|
| |
can get reparented to either
PID1 or even any other PID (if there are custom reapers in the system).
Similar issue with jails, elevated process can ask kernel to attach itself into any jail at any time,
thus JID and jail name can change each refresh cycle.
|
| |
|
|
|
|
|
|
| |
FreeBSD
Linux
Other platforms will have it undefined for now.
|
|
|
|
|
|
|
|
|
|
|
|
| |
htop fails to compile with:
```text
SignalsPanel.c:32:49: error: use of undeclared identifier 'Platform_signals'
Panel_set(this, i, (Object*) ListItem_new(Platform_signals[i].name, Platform_signals[i].number));
^
1 error generated.
*** Error code 1
```
|
|
|
|
|
| |
Implementations for Linux (tested) and FreeBSD (still untested, thanks to @etosan for providing the table).
Darwin and OpenBSD(ping @mmcco) builds should be broken now, pending their own tables.
|
|\
| |
| | |
Cleanup and initial OpenBSD support
|
| |
| |
| |
| | |
fix some style
|
|/
|
|
|
|
|
| |
columns, somewhat more correct kernel "thread" detection.
Seems FreeBSD kernel can spawn both kernel processes (what is what htop currently sees) and kernel threads.
For now let's consider kernel processes kernel "threads".
|
|
|
|
|
|
|
| |
* size_t nmemb (number of elements) first, then size_t size
* do not assume char is size 1 but use sizeof()
* allocate for char, not pointer to char (found by Michael McConville,
fixes #261)
|
|
|
|
| |
Closes #228.
|
|
|
|
|
| |
`Process_new_fn` had been renamed to `Process_New` in
d880def0e9b5dcce07917aa7cc71e49bddf21c16
|
|
|
|
|
| |
Several functions and struct had changed in
b291fba02b8d9bb52cd8a23ef5fffbba4f89ff0a
|