public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* signal dequeue ...
@ 2001-06-22 18:05 Davide Libenzi
  2001-06-22 18:42 ` george anzinger
  0 siblings, 1 reply; 6+ messages in thread
From: Davide Libenzi @ 2001-06-22 18:05 UTC (permalink / raw)
  To: linux-kernel


I'm just trying to figure out the reason why signal must be delivered one at a
time instead of building a frame with multiple calls with only the last one
chaining back to the kernel.
All previous calls instead of calling the stub that jump back to the kernel
will call a small stub like ( Ix86 ) :


stkclean_stub:
        add $frame_size, %esp
        cmp %esp, $end_stubs
        jae $sigreturn_stub
        ret
sigreturn_stub:
        mov __NR_sigreturn, %eax
        int $0x80
end_stubs:

...
| context1
* $stkclean_stub
* sigh1_eip
| context0
* $stkclean_stub
* sigh0_eip


When sigh0 return, it'll call stkclean_stub that will clean context0 and if
we're at the end it'll call the jump-back-to-kernel stub, otherwise the it'll
execute the  ret  the will call sigh1 handler ... and so on.





- Davide


^ permalink raw reply	[flat|nested] 6+ messages in thread
[parent not found: <0C01A29FBAE24448A792F5C68F5EA47D120354@nasdaq.ms.ensim.com>]

end of thread, other threads:[~2001-06-22 22:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-06-22 18:05 signal dequeue Davide Libenzi
2001-06-22 18:42 ` george anzinger
2001-06-22 18:59   ` Davide Libenzi
2001-06-22 20:31     ` george anzinger
     [not found] <0C01A29FBAE24448A792F5C68F5EA47D120354@nasdaq.ms.ensim.com>
2001-06-22 21:58 ` Paul Menage
2001-06-22 22:16   ` Davide Libenzi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox