I spent some time read you mail carefully and dig into the code again.
And yes, you are right. It's possible that SA_ONSTACK has been cleared
before the second signal on the same stack comes.
So this patch is wrong :( . I will revise the other 4 patches.
Sorry for the noise.
--