linux-user: Return target error number in do_fork()
Whilst calls to do_fork() are wrapped in get_errno() this does not translate return values. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Timothy Edward Baldwin <T.E.Baldwin99@members.leeds.ac.uk> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
This commit is contained in:
parent
ee1045877a
commit
93b4eff80a
|
@ -4626,8 +4626,9 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
|
||||||
pthread_mutex_unlock(&clone_lock);
|
pthread_mutex_unlock(&clone_lock);
|
||||||
} else {
|
} else {
|
||||||
/* if no CLONE_VM, we consider it is a fork */
|
/* if no CLONE_VM, we consider it is a fork */
|
||||||
if ((flags & ~(CSIGNAL | CLONE_NPTL_FLAGS2)) != 0)
|
if ((flags & ~(CSIGNAL | CLONE_NPTL_FLAGS2)) != 0) {
|
||||||
return -EINVAL;
|
return -TARGET_EINVAL;
|
||||||
|
}
|
||||||
fork_start();
|
fork_start();
|
||||||
ret = fork();
|
ret = fork();
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
|
|
Loading…
Reference in a new issue