[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] linux-user: fix wait* syscall status returns
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v2] linux-user: fix wait* syscall status returns |
Date: |
Wed, 23 Nov 2011 23:50:58 +0000 |
On 23 November 2011 23:44, Alexander Graf <address@hidden> wrote:
> When calling wait4 or waitpid with a status pointer and WNOHANG, the
> syscall can potentially not modify the status pointer input. Now if we
> have guest code like:
>
> int status = 0;
> waitpid(pid, &status, WNOHANG);
> if (status)
> <breakage>
>
> then we have to make sure that in case status did not change we actually
> return the guest's initialized status variable instead of our own
> uninitialized.
> We fail to do so today, as we proxy everything through an uninitialized status
> variable which for me ended up always containing the last error code.
>
> This patch fixes some test cases when building yast2-core in OBS for ARM.
>
> Signed-off-by: Alexander Graf <address@hidden>
I'd have put both sets of checks on ret next to each other personally,
but that's hardly worth doing a v3 for.
Reviewed-by: Peter Maydell <address@hidden>
-- PMM