Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e1c3ad96 authored by Heiko Carstens's avatar Heiko Carstens Committed by Linus Torvalds
Browse files

[PATCH] s390: signal delivery



Always create all signal frames for pending signals before returning to
userspace, not just a single one.

Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent aa3a6f45
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -288,7 +288,7 @@ sysc_sigpending:
	bo	BASED(sysc_restart)
	tm	__TI_flags+3(%r9),_TIF_SINGLE_STEP
	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
@@ -645,7 +645,7 @@ io_sigpending:
        l       %r1,BASED(.Ldo_signal)
	basr    %r14,%r1	       # call do_signal
        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
+2 −2
Original line number Diff line number Diff line
@@ -283,7 +283,7 @@ sysc_sigpending:
	jo	sysc_restart
	tm	__TI_flags+7(%r9),_TIF_SINGLE_STEP
	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
@@ -684,7 +684,7 @@ io_sigpending:
	slgr    %r3,%r3			# clear *oldset
	brasl	%r14,do_signal		# call do_signal
	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