[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#8270) win32: fix conversion error



--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

Basically it errors out because MSVC needs stdcall on that method.

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
>



-- 
Ignacio Casal Quinteiro

--047d7bb03a5ac118d20522842ead
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div>So I took another closer look at this issue and =
I went for this possible solution:<br><a href=3D"https://github.com/nice-so=
ftware/lmdb/commit/03987789735141dc68ae8b2d0e5ad52d82cc80d0">https://github=
.com/nice-software/lmdb/commit/03987789735141dc68ae8b2d0e5ad52d82cc80d0</a>=
<br><br></div>Basically it errors out because MSVC needs stdcall on that me=
thod.<br><br></div>Cheers.<br></div><div class=3D"gmail_extra"><br><div cla=
ss=3D"gmail_quote">On Mon, Oct 19, 2015 at 2:55 PM, Ignacio Casal Quinteiro=
 <span dir=3D"ltr">&lt;<a href=3D"mailto:nacho.resa@gmail.com"; target=3D"_b=
lank">nacho.resa@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gm=
ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le=
ft:1ex"><div dir=3D"ltr"><div>Sorry! I did indeed meant to change just the =
windows part, for some reason I thought it was already ifdeffed that part.<=
br><a href=3D"https://github.com/nice-software/lmdb/commit/42577fe173923c11=
66f8382a53523a31479f9d43" target=3D"_blank">https://github.com/nice-softwar=
e/lmdb/commit/42577fe173923c1166f8382a53523a31479f9d43</a><br><br></div>Thi=
s is the right patch.<br></div><div class=3D"gmail_extra"><div><div class=
=3D"h5"><br><div class=3D"gmail_quote">On Mon, Oct 19, 2015 at 1:43 PM, Hal=
lvard Breien Furuseth <span dir=3D"ltr">&lt;<a href=3D"mailto:h.b.furuseth@=
usit.uio.no" target=3D"_blank">h.b.furuseth@usit.uio.no</a>&gt;</span> wrot=
e:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex">On 19. okt. 2015 08:57, <a href=3D"mai=
lto:nacho.resa@gmail.com" target=3D"_blank">nacho.resa@gmail.com</a> wrote:=
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
I do not understand, I tested also with mingw64 (...)<br>
</blockquote>
<br>
There&#39;s no LPTHREAD_START_ROUTINE type on non-Windows machines.<br>
You could replace &#39;start&#39; with &#39;(LPTHREAD_START_ROUTINE)(start)=
&#39;<br>
in the _WIN32 variant of &#39;#define THREAD_CREATE...&#39;.<br>
<br>
However, it&#39;s still wrong to call a function via another prototype.<br>
Maybe that&#39;d fall on 32-bit Windows or something, I don&#39;t know<br>
how LPTHREAD_START_ROUTINE is defined.=C2=A0 The safe way would be to<br>
give mdb_env_copythr() a prototype which does not need a cast.<br>
There is some code for that already. Maybe it can be improved.<span><font c=
olor=3D"#888888"><br>
<br>
-- <br>
Hallvard<br>
</font></span></blockquote></div><br><br clear=3D"all"><br></div></div><spa=
n class=3D"HOEnZb"><font color=3D"#888888">-- <br><div>Ignacio Casal Quinte=
iro</div>
</font></span></div>
</blockquote></div><br><br clear=3D"all"><br>-- <br><div class=3D"gmail_sig=
nature">Ignacio Casal Quinteiro</div>
</div>

--047d7bb03a5ac118d20522842ead--