Neil Jerram <n...@ossau.uklinux.net> writes: >> Yes, it's an unrelated bug. All of the places that raise errors (and >> so exit non-locally) should exit the critical section first. > >> You're absolutely right. I'll leave this part out, and generate a >> separate patch for it. > > Here's the separate patch...
> Subject: [PATCH] Avoid throw from critical section, given invalid sigaction > call > > * libguile/scmsigs.c (scm_sigaction_for_thread): Exit critical section > before raising out-of-range error. > > * test-suite/Makefile.am (SCM_TESTS): Add signals.test. > > * test-suite/tests/signals.test: New file. I've committed this now too. (Also to 1.8.x. I'll come back later to look at which of all these lock fixes are needed in master.) Neil