qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 3/3] w32: Fix format string regression


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH 3/3] w32: Fix format string regression
Date: Mon, 18 Jul 2011 00:31:53 +0300

On Sun, Jul 17, 2011 at 9:34 PM, Stefan Weil <address@hidden> wrote:
> Am 17.07.2011 11:03, schrieb Blue Swirl:
>>
>> On Fri, Jul 15, 2011 at 11:42 PM, Andreas Färber <address@hidden>
>> wrote:
>>>
>>> Am 15.07.2011 um 21:38 schrieb Stefan Weil:
>>>>
>>>> Commit 953ffe0f935f40c0d6061d69e76e0339393b54f8
>>>> introduced FMT_pid which is wrong for w32 and w64 getpid():
>>>> those getpid() implementations always return an int value.
>>
>> This is not in line with Posix:
>>
>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/getpid.html#tag_16_243
>
> Maybe I should have added that getpid() is a function in a vendor specific
> API.
> Microsoft does not claim that getpid() is in line with Posix
> (they say it is a deprecated POSIX function, see
> http://msdn.microsoft.com/en-us/library/ms235372%28v=vs.80%29.aspx).
>
> Visual Studio uses this declaration:
> _CRT_NONSTDC_DEPRECATE(_getpid) _CRTIMP int __cdecl getpid(void);
>
> Mingw32 tries to be more POSIX like and uses (with pid_t = int) this
> declaration:
> _CRTIMP pid_t __cdecl __MINGW_NOTHROW getpid (void);
>
> Mingw-w64 is closer to the VS declaration:
> int __cdecl getpid(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
>
> The replacement for getpid() is _getpid(). It also has a wrong
> declaration in mingw32. A patch which simply replaces getpid by
> _getpid is on my todo list, but not urgent, because the current
> code works when my patch was applied.

Since for example GetProcessById uses int, it looks like pid_t is instead wrong.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]