linux-user: pause() should not pause if signal pending
commitf59ec606104ade2443179231fc7a3cb98683ac85
authorTimothy E Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
Fri, 27 May 2016 14:51:55 +0000 (27 15:51 +0100)
committerRiku Voipio <riku.voipio@linaro.org>
Tue, 7 Jun 2016 13:39:07 +0000 (7 16:39 +0300)
treeeca553c490e581c51c9d3134c63fa8c764a25c45
parentef6a778ea2af4ebcf08a84cc9314cfe7cf2a2299
linux-user: pause() should not pause if signal pending

Fix races between signal handling and the pause syscall by
reimplementing it using block_signals() and sigsuspend().
(Using safe_syscall(pause) would also work, except that the
pause syscall doesn't exist on all architectures.)

Signed-off-by: Timothy Edward Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
Message-id: 1441497448-32489-28-git-send-email-T.E.Baldwin99@members.leeds.ac.uk
[PMM: tweaked commit message]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
linux-user/syscall.c