[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MIT-Scheme-devel] Symmetric MultiProcessing
From: |
Matt Birkholz |
Subject: |
Re: [MIT-Scheme-devel] Symmetric MultiProcessing |
Date: |
Tue, 18 Aug 2015 18:40:09 -0700 |
> From: Taylor R Campbell <address@hidden>
> Date: Tue, 18 Aug 2015 22:41:36 +0000
>
> The use of WITHOUT-INTERRUPTS in gcfinal.scm was largely for interrupt
> safety, not just for exclusion between threads, so that hitting ^G at
> an inopportune moment would not leak scarce resources. Please restore
> that property of it with appropriate WITHOUT-INTERRUPTION.
You got it! Fixed in commit 9db45d6.
I also noticed a problem with the GC daemon. I was thinking, early
on, that gc-daemons must continue to run without-interrupts, perhaps
even without concurrency (as the primitive GC daemons do). I later
decided this was "totally" unnecessary and started adding with-thread-
mutex-try-lock to them, to punt rather than deadlock in the after-gc
interrupt. In run-gc-finalizers, I should have also locked each
finalizer as it was cleaned.