Message ID | f59ec606104ade2443179231fc7a3cb98683ac85.1465392531.git.riku.voipio@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 639b328..aa5517c 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -7059,7 +7059,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