Neil Jerram writes: >> next it's on to the real problem, threadsafe define. > > I've been running Linas's define-race test program, and hitting the > `throw from within critical section' quite a lot. [...] After the patch that I posted yesterday, we finally get to the real problem. I've tried to address it by allowing a hashtable to have a mutex associated with it - resulting in the patch below. But unfortunately it's still not good; a sample run of test-define-race gives: # # ERROR: ERROR: Unbound variable: x1-100499 Unbound variable: define ERROR: Unbound variable: x4-100596 ERROR: Unbound variable: define ERROR: Unbound variable: define ERROR: Unbound variable: define guile-define test case: good-bye! test-define-race: 2 error(s) FAIL: test-define-race I'm off to sleep now, so I thought I'd post what I've done in case others have thoughts on it or can see something wrong. Regards, Neil