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

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



--f46d042184850fb03c0522fcd987
Content-Type: text/plain; charset=UTF-8

Howard, any chance to get this in or should I change something else?
Also, any chance you could have a look at "ITS#8274"?

Thanks in advance!

On Tue, Oct 20, 2015 at 10:37 PM, Ignacio Casal Quinteiro <
nacho.resa@gmail.com> wrote:

>
>
> On Tue, Oct 20, 2015 at 10:09 PM, Howard Chu <hyc@symas.com> wrote:
>
>> 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.
>>
>
> yeah... but if this fixes the error I am fine with it, after all it end
> ups being just a define
>
>
>>
>>
>>> 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/
>>
>
>
>
> --
> Ignacio Casal Quinteiro
>



-- 
Ignacio Casal Quinteiro

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

<div dir=3D"ltr"><div><div>Howard, any chance to get this in or should I ch=
ange something else?<br></div>Also, any chance you could have a look at &qu=
ot;ITS#8274&quot;?<br><br></div>Thanks in advance!<br></div><div class=3D"g=
mail_extra"><br><div class=3D"gmail_quote">On Tue, Oct 20, 2015 at 10:37 PM=
, Ignacio Casal Quinteiro <span dir=3D"ltr">&lt;<a href=3D"mailto:nacho.res=
a@gmail.com" target=3D"_blank">nacho.resa@gmail.com</a>&gt;</span> wrote:<b=
r><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:=
1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><br><div class=3D"gmail_e=
xtra"><br><div class=3D"gmail_quote"><span class=3D"">On Tue, Oct 20, 2015 =
at 10:09 PM, Howard Chu <span dir=3D"ltr">&lt;<a href=3D"mailto:hyc@symas.c=
om" target=3D"_blank">hyc@symas.com</a>&gt;</span> wrote:<br><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex"><a href=3D"mailto: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">
--047d7bb03a5ac118d20522842ead<br>
Content-Type: text/plain; charset=3DUTF-8<span><br>
<br>
So I took another closer look at this issue and I went for this possible<br=
>
solution:<br>
<a href=3D"https://github.com/nice-software/lmdb/commit/03987789735141dc68a=
e8b2d0e5ad52d82cc80d0" rel=3D"noreferrer" target=3D"_blank">https://github.=
com/nice-software/lmdb/commit/03987789735141dc68ae8b2d0e5ad52d82cc80d0</a><=
br>
</span></blockquote>
<br>
That looks OK.<span><br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Basically it errors out because MSVC needs stdcall on that method.<br>
</blockquote>
<br></span>
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&#39;s mo=
ot since the function only has 1 argument.<span><br></span></blockquote><di=
v><br></div></span><div>yeah... but if this fixes the error I am fine with =
it, after all it end ups being just a define<br></div><div><div class=3D"h5=
"><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex"><span>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
<br>
Cheers.<br>
<br>
On Mon, Oct 19, 2015 at 2:55 PM, Ignacio Casal Quinteiro &lt;<br>
<a href=3D"mailto:nacho.resa@gmail.com"; target=3D"_blank">nacho.resa@gmail.=
com</a>&gt; wrote:<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Sorry! I did indeed meant to change just the windows part, for some reason<=
br>
I thought it was already ifdeffed that part.<br>
<br>
<a href=3D"https://github.com/nice-software/lmdb/commit/42577fe173923c1166f=
8382a53523a31479f9d43" rel=3D"noreferrer" target=3D"_blank">https://github.=
com/nice-software/lmdb/commit/42577fe173923c1166f8382a53523a31479f9d43</a><=
br>
<br>
This is the right patch.<br>
<br>
On Mon, Oct 19, 2015 at 1:43 PM, Hallvard Breien Furuseth &lt;<br>
<a href=3D"mailto:h.b.furuseth@usit.uio.no"; target=3D"_blank">h.b.furuseth@=
usit.uio.no</a>&gt; wrote:<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
On 19. okt. 2015 08:57, <a href=3D"mailto:nacho.resa@gmail.com"; target=3D"_=
blank">nacho.resa@gmail.com</a> wrote:<br>
<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>
<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.<br>
<br>
--<br>
Hallvard<br>
<br>
</blockquote>
<br>
<br>
<br>
--<br>
Ignacio Casal Quinteiro<br>
<br>
</blockquote>
<br>
<br>
<br>
</blockquote>
<br>
<br>
-- <br></span><div><div>
=C2=A0 -- Howard Chu<br>
=C2=A0 CTO, Symas Corp.=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"=
http://www.symas.com"; rel=3D"noreferrer" target=3D"_blank">http://www.symas=
.com</a><br>
=C2=A0 Director, Highland Sun=C2=A0 =C2=A0 =C2=A0<a href=3D"http://highland=
sun.com/hyc/" rel=3D"noreferrer" target=3D"_blank">http://highlandsun.com/h=
yc/</a><br>
=C2=A0 Chief Architect, OpenLDAP=C2=A0 <a href=3D"http://www.openldap.org/p=
roject/" rel=3D"noreferrer" target=3D"_blank">http://www.openldap.org/proje=
ct/</a><br>
</div></div></blockquote></div></div></div><span class=3D"HOEnZb"><font col=
or=3D"#888888"><br><br clear=3D"all"><br>-- <br><div>Ignacio Casal Quinteir=
o</div>
</font></span></div></div>
</blockquote></div><br><br clear=3D"all"><br>-- <br><div class=3D"gmail_sig=
nature">Ignacio Casal Quinteiro</div>
</div>

--f46d042184850fb03c0522fcd987--