Age | Commit message (Collapse) | Author |
|
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
|
|
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".
|
|
fix some style
|
|
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This will produce too much replicated code.
I think I'll use a lighter abstraction in things like this.
|
|
|
|
|
|
|