Message ID | 1441497448-32489-28-git-send-email-T.E.Baldwin99@members.leeds.ac.uk |
---|---|
State | New |
Headers | show |
On 6 September 2015 at 00:57, Timothy E Baldwin <T.E.Baldwin99@members.leeds.ac.uk> wrote: > Signed-off-by: Timothy Edward Baldwin <T.E.Baldwin99@members.leeds.ac.uk> > --- > linux-user/syscall.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > index da6d140..f89b730 100644 > --- a/linux-user/syscall.c > +++ b/linux-user/syscall.c > @@ -6106,7 +6106,10 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, > #endif > #ifdef TARGET_NR_pause /* not on alpha */ > case TARGET_NR_pause: > - ret = get_errno(pause()); > + if (!block_signals()) { > + sigsuspend(&((TaskState *)cpu->opaque)->signal_mask); > + } > + ret = -TARGET_EINTR; > break; > #endif > #ifdef TARGET_NR_utime > -- > 2.1.4 Reviewed-by: Peter Maydell <peter.maydell@linaro.org> thanks -- PMM
diff --git a/linux-user/syscall.c b/linux-user/syscall.c index da6d140..f89b730 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -6106,7 +6106,10 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, #endif #ifdef TARGET_NR_pause /* not on alpha */ case TARGET_NR_pause: - ret = get_errno(pause()); + if (!block_signals()) { + sigsuspend(&((TaskState *)cpu->opaque)->signal_mask); + } + ret = -TARGET_EINTR; break; #endif #ifdef TARGET_NR_utime
Signed-off-by: Timothy Edward Baldwin <T.E.Baldwin99@members.leeds.ac.uk> --- linux-user/syscall.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)