mirror of https://github.com/xzeldon/htop.git
ProcessList.h: remove `ProcessList_remove`
As the "highlight dying processes" option has to keep processes in the list when they disappear, no code except the cleanup loop in `ProcessList_scan` should remove processes from the list directly. Remove the export to prevent random process removals from being reintroduced accidentally.
This commit is contained in:
parent
fae7ff6f03
commit
4b8b61fe18
|
@ -176,6 +176,7 @@ void ProcessList_add(ProcessList* this, Process* p) {
|
||||||
// ProcessList_removeIndex removes Process p from the list's map and soft deletes
|
// ProcessList_removeIndex removes Process p from the list's map and soft deletes
|
||||||
// it from its vector. Vector_compact *must* be called once the caller is done
|
// it from its vector. Vector_compact *must* be called once the caller is done
|
||||||
// removing items.
|
// removing items.
|
||||||
|
// Should only be called from ProcessList_scan to avoid breaking dying process highlighting.
|
||||||
static void ProcessList_removeIndex(ProcessList* this, const Process* p, int idx) {
|
static void ProcessList_removeIndex(ProcessList* this, const Process* p, int idx) {
|
||||||
pid_t pid = p->pid;
|
pid_t pid = p->pid;
|
||||||
|
|
||||||
|
@ -194,16 +195,6 @@ static void ProcessList_removeIndex(ProcessList* this, const Process* p, int idx
|
||||||
assert(Vector_countEquals(this->processes, Hashtable_count(this->processTable)));
|
assert(Vector_countEquals(this->processes, Hashtable_count(this->processTable)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProcessList_remove(ProcessList* this, const Process* p) {
|
|
||||||
int idx = Vector_indexOf(this->processes, p, Process_pidEqualCompare);
|
|
||||||
assert(0 <= idx && idx < Vector_size(this->processes));
|
|
||||||
if (idx >= 0) {
|
|
||||||
ProcessList_removeIndex(this, p, idx);
|
|
||||||
// This function is public so must not require callers to compact the Vector
|
|
||||||
Vector_compact(this->processes);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void ProcessList_buildTreeBranch(ProcessList* this, pid_t pid, int level, int indent, bool show) {
|
static void ProcessList_buildTreeBranch(ProcessList* this, pid_t pid, int level, int indent, bool show) {
|
||||||
// On OpenBSD the kernel thread 'swapper' has pid 0.
|
// On OpenBSD the kernel thread 'swapper' has pid 0.
|
||||||
// Do not treat it as root of any tree.
|
// Do not treat it as root of any tree.
|
||||||
|
|
|
@ -106,8 +106,6 @@ void ProcessList_printHeader(const ProcessList* this, RichString* header);
|
||||||
|
|
||||||
void ProcessList_add(ProcessList* this, Process* p);
|
void ProcessList_add(ProcessList* this, Process* p);
|
||||||
|
|
||||||
void ProcessList_remove(ProcessList* this, const Process* p);
|
|
||||||
|
|
||||||
void ProcessList_updateDisplayList(ProcessList* this);
|
void ProcessList_updateDisplayList(ProcessList* this);
|
||||||
|
|
||||||
ProcessField ProcessList_keyAt(const ProcessList* this, int at);
|
ProcessField ProcessList_keyAt(const ProcessList* this, int at);
|
||||||
|
|
Loading…
Reference in New Issue