Messages in this thread | | | Date | Mon, 16 Mar 2009 01:28:33 +0100 | From | Oleg Nesterov <> | Subject | Re: Signal delivery order |
| |
On 03/15, Gábor Melis wrote: > > On Domingo 15 Marzo 2009, Oleg Nesterov wrote: > > > > > Now, since there are no more pending signals, we return to the user > > space, and start sig_2(). > > I see. I guess in addition to changing the ip, the stack frobbing magic > arranges that sig_2 returns to sig_1 or some code that calls sig_1.
yes. "some code" == rt_sigreturn,
> The revised signal-delivery-order.c (also attached) outputs: > > test_handler=8048727 > sigsegv_handler=804872c > eip: 8048727 > esp: b7d94cb8 > > which shows that sigsegv_handler also has incorrect eip in the context.
Why do you think it is not correct?
I didn't try your test-case, but I can't see where "esp: b7d94cb8" comes from. But "eip: 8048727" looks exactly right, this is the address of test_handler.
Oleg.
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |