On Fri, 14 Jul 2006, Artur Bergman wrote:
> I owe you a big beer, I hope you will be at OSCON? :)
Unfortunately I can't make it this year. :(
> The mutex will issue a memory barrier, so it should be safe.
This is true for threads.xs, but the standard Perl signal code
in S_raise_signal() doesn't provide such a barrier:
static void
S_raise_signal(pTHX_ int sig)
{
dVAR;
/* Set a flag to say this signal is pending */
PL_psig_pend[sig]++;
/* And one to say _a_ signal is pending */
PL_sig_pending = 1;
}
I think Nicholas has a valid point that this is not guaranteed
to be "timely" on all SMP systems.
Cheers,
-Jan