[PATCH] s390: signal delivery
Always create all signal frames for pending signals before returning to userspace, not just a single one. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
aa3a6f456f
commit
e1c3ad96f6
@ -288,7 +288,7 @@ sysc_sigpending:
|
|||||||
bo BASED(sysc_restart)
|
bo BASED(sysc_restart)
|
||||||
tm __TI_flags+3(%r9),_TIF_SINGLE_STEP
|
tm __TI_flags+3(%r9),_TIF_SINGLE_STEP
|
||||||
bo BASED(sysc_singlestep)
|
bo BASED(sysc_singlestep)
|
||||||
b BASED(sysc_leave) # out of here, do NOT recheck
|
b BASED(sysc_work_loop)
|
||||||
|
|
||||||
#
|
#
|
||||||
# _TIF_RESTART_SVC is set, set up registers and restart svc
|
# _TIF_RESTART_SVC is set, set up registers and restart svc
|
||||||
@ -645,7 +645,7 @@ io_sigpending:
|
|||||||
l %r1,BASED(.Ldo_signal)
|
l %r1,BASED(.Ldo_signal)
|
||||||
basr %r14,%r1 # call do_signal
|
basr %r14,%r1 # call do_signal
|
||||||
stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts
|
stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts
|
||||||
b BASED(io_leave) # out of here, do NOT recheck
|
b BASED(io_work_loop)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* External interrupt handler routine
|
* External interrupt handler routine
|
||||||
|
@ -283,7 +283,7 @@ sysc_sigpending:
|
|||||||
jo sysc_restart
|
jo sysc_restart
|
||||||
tm __TI_flags+7(%r9),_TIF_SINGLE_STEP
|
tm __TI_flags+7(%r9),_TIF_SINGLE_STEP
|
||||||
jo sysc_singlestep
|
jo sysc_singlestep
|
||||||
j sysc_leave # out of here, do NOT recheck
|
j sysc_work_loop
|
||||||
|
|
||||||
#
|
#
|
||||||
# _TIF_RESTART_SVC is set, set up registers and restart svc
|
# _TIF_RESTART_SVC is set, set up registers and restart svc
|
||||||
@ -684,7 +684,7 @@ io_sigpending:
|
|||||||
slgr %r3,%r3 # clear *oldset
|
slgr %r3,%r3 # clear *oldset
|
||||||
brasl %r14,do_signal # call do_signal
|
brasl %r14,do_signal # call do_signal
|
||||||
stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts
|
stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts
|
||||||
j sysc_leave # out of here, do NOT recheck
|
j io_work_loop
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* External interrupt handler routine
|
* External interrupt handler routine
|
||||||
|
Loading…
x
Reference in New Issue
Block a user