Neil Jerram <[email protected]> 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