We should replace these with something that avoids priority inversion deadlocks. Ideally something that backs off to an OS lock, maybe NSPR has something we re-use.
cleaning out old bugs. set triage+, any change in status?
Its possible this is causing a month long mysterious hang/crash on wince.
besides real locks another thing we could do is have a thread local DisableAllocation notion where the allocator will return NULL and assert when its engaged (to prevent further issues in this area).
(In reply to comment #0) > We should replace these with something that avoids priority inversion > deadlocks. Ideally something that backs off to an OS lock, maybe NSPR has > something we re-use. I wonder if the "futex" approach would be appropriate here: http://en.wikipedia.org/wiki/Futex
this isn't a super high priority since the priority deadlock issue has been fixed on win32 with a periodic sleep so this bug's priority can probably be lowered
Deferring. I think we probably need a thorough review of locking/threading strategies in the GC, post-Argo.
Crypto-duplicate of broader threading agenda.