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/03987789735141dc68ae8b2d0e5ad52...
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/42577fe173923c1166f8382a53523a3...
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