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



Reply via email to