diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2016-07-06 15:09:29 +0100 |
---|---|---|
committer | Riku Voipio <riku.voipio@linaro.org> | 2016-07-19 15:23:16 +0300 |
commit | 31efaef1d9b80b7803e22ef28ffc51df04db60ab (patch) | |
tree | d46156d7a59537b364e30aa6365e40e1c85f4630 /linux-user/syscall.c | |
parent | f2c2fb50be13aca9c449d9156817c915d9cd2acb (diff) |
linux-user: Forget about synchronous signal once it is delivered
Commit 655ed67c2a248cf which switched synchronous signals to
benig recorded in ts->sync_signal rather than in a queue
with every other signal had a bug: we failed to clear
the flag indicating that a synchronous signal was pending
when we delivered it. This meant that we would take the signal
again and again every time the guest made a syscall.
(This is a bug introduced in my refactoring of Timothy Baldwin's
original code.)
Fix this by passing in the struct emulated_sigtable* to
handle_pending_signal(), so that we clear the pending flag
in the ts->sync_signal struct when handling a synchronous signal.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Diffstat (limited to 'linux-user/syscall.c')
0 files changed, 0 insertions, 0 deletions