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:
Denis Lisov 2022-05-05 10:48:31 +03:00 committed by BenBE
parent fae7ff6f03
commit 4b8b61fe18
2 changed files with 1 additions and 12 deletions

View File

@ -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.

View File

@ -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);