2009/3/5 Neil Jerram <[email protected]>:
>> 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...
Looks good, except for the test case:
+ (pass-if-exception "handler arg is an invalid integer"
+ exception:out-of-range
+ (sigaction SIGINT 51))
whereas my bits/signum.h shows:
#define SIGUNUSED 31
#define _NSIG 65 /* Biggest signal number + 1
(including real-time signals). */
I presume that in the era of 64-bit CPU's we might
start seeing new sigs in the 32-64 range. Or maybe
the RT kernels already do ... ?
--linas