[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#8270) win32: fix conversion error
nacho.resa@gmail.com wrote:
> --047d7bb03a5ac118d20522842ead
> Content-Type: text/plain; charset=UTF-8
>
> So I took another closer look at this issue and I went for this possible
> solution:
> https://github.com/nice-software/lmdb/commit/03987789735141dc68ae8b2d0e5ad52d82cc80d0
That looks OK.
> Basically it errors out because MSVC needs stdcall on that method.
You realize of course, that this change actually has no effect on the code
here? stdcall uses Pascal argument order instead of C order but it's moot
since the function only has 1 argument.
>
> Cheers.
>
> On Mon, Oct 19, 2015 at 2:55 PM, Ignacio Casal Quinteiro <
> nacho.resa@gmail.com> wrote:
>
>> Sorry! I did indeed meant to change just the windows part, for some reason
>> I thought it was already ifdeffed that part.
>>
>> https://github.com/nice-software/lmdb/commit/42577fe173923c1166f8382a53523a31479f9d43
>>
>> This is the right patch.
>>
>> On Mon, Oct 19, 2015 at 1:43 PM, Hallvard Breien Furuseth <
>> h.b.furuseth@usit.uio.no> wrote:
>>
>>> On 19. okt. 2015 08:57, nacho.resa@gmail.com wrote:
>>>
>>>> I do not understand, I tested also with mingw64 (...)
>>>>
>>>
>>> There's no LPTHREAD_START_ROUTINE type on non-Windows machines.
>>> You could replace 'start' with '(LPTHREAD_START_ROUTINE)(start)'
>>> in the _WIN32 variant of '#define THREAD_CREATE...'.
>>>
>>> However, it's still wrong to call a function via another prototype.
>>> Maybe that'd fall on 32-bit Windows or something, I don't know
>>> how LPTHREAD_START_ROUTINE is defined. The safe way would be to
>>> give mdb_env_copythr() a prototype which does not need a cast.
>>> There is some code for that already. Maybe it can be improved.
>>>
>>> --
>>> Hallvard
>>>
>>
>>
>>
>> --
>> Ignacio Casal Quinteiro
>>
>
>
>
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/