From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
Cc: | Asif Naeem <anaeem(dot)it(at)gmail(dot)com>, Andres Freund <andres(at)2ndquadrant(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: gettimeofday cause crash on Windows |
Date: | 2015-02-21 18:59:16 |
Message-ID: | CA+Tgmoa-ec6xc_W0o5uAeV+=Hk5uLxQCg1ofQxOgH4ktH60AXg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Sat, Feb 21, 2015 at 1:00 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Sat, Feb 21, 2015 at 12:20 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>> On Thu, Feb 12, 2015 at 9:59 PM, Michael Paquier
>> <michael(dot)paquier(at)gmail(dot)com> wrote:
>>> I looked at your patch and tested it with msvc and it looks good to me.
>>
>> Committed with cosmetic adjustments. Hopefully one of you fine
>> gentlemen will jump in to help if this turns out to break, because I
>> don't do Windows.
>
> currawong doesn't like this:
>
> "c:\prog\bf\root\HEAD\pgsql.build\pgsql.sln" (default target) (1) ->
> (postgres target) ->
> .\src\port\gettimeofday.c(53): error C2440: 'initializing' : cannot
> convert from 'void (__cdecl *)(LPFILETIME)' to 'PgGetSystemTimeFn'
>
>
> "c:\prog\bf\root\HEAD\pgsql.build\pgsql.sln" (default target) (1) ->
> (misc\libpgport target) ->
> .\src\port\gettimeofday.c(53): error C2440: 'initializing' : cannot
> convert from 'void (__cdecl *)(LPFILETIME)' to 'PgGetSystemTimeFn'
>
> 0 Warning(s)
> 2 Error(s)
I assume that the problem here must be whatever secret sauce WINAPI
pours on the declaration. PgSystemTimeFn is declared like this:
typedef VOID (WINAPI *PgGetSystemTimeFn)(LPFILETIME);
...and the function we're trying to assign to a variable of that type
is declared like this:
static void init_gettimeofday(LPFILETIME lpSystemTimeAsFileTime);
Either "void" does not mean the same thing as "VOID", which would be
exceedingly evil, or the WINAPI in there matters, which is still evil,
but somewhat more understandable.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Asif Naeem | 2015-02-21 19:07:02 | Re: gettimeofday cause crash on Windows |
Previous Message | Robert Haas | 2015-02-21 18:00:51 | Re: gettimeofday cause crash on Windows |