Replace time-based GC with allocation-count trigger, migrate all Create factories to GCList::Create(), fix VFSPath root path, reorder TObject variant
All checks were successful
Build and Deploy on Tag / 🔨 Build for PowerPC (push) Successful in 1m14s
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-riscv64:latest, riscv64-linux-gnu, riscv64) (push) Successful in 3m41s
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-x64:latest, x86_64-linux-gnu, amd64) (push) Successful in 3m40s
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-arm:latest, arm-linux-gnueabihf, arm7) (push) Successful in 3m43s
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-arm64:latest, aarch64-linux-gnu, arm64) (push) Successful in 3m43s
Build and Deploy on Tag / 🔨 Build for everything else (git.tesses.org/tesses50/linux-x86:latest, i386-linux-gnu, 386) (push) Successful in 55s
Build and Deploy on Tag / update-tap (push) Successful in 4m25s

This commit is contained in:
2026-09-02 12:58:47 -05:00
parent c1c3d02bf0
commit 4aab28411a

View File

@@ -113,9 +113,8 @@ void GC::Start() {
this->thrd = new Thread([this]() -> void { this->thrd = new Thread([this]() -> void {
while (this->IsRunning()) { while (this->IsRunning()) {
this->BarrierBegin(); this->BarrierBegin();
while (this->allocs < ALLOC_THRESHOLD) while (this->IsRunning() && (this->allocs < ALLOC_THRESHOLD))
this->cond.Wait( this->cond.Wait(&this->mtx);
&this->mtx); // your wrapper around pthread_cond_wait
this->allocs = 0; this->allocs = 0;
std::vector<THeapObject *> to_delete; std::vector<THeapObject *> to_delete;
this->Collect(to_delete); this->Collect(to_delete);