The following causes the DLL to crash on Windows:
Input: immutable(short)* data (immutable because in separate
thread).
// Later
core.stdc.stdlib.free(cast(short *)data);
(short* data is provided by the C library, where the memory is
allocated)
On Linux it works fine and never crashes, in the Windows DLL it
randomly causes an access violation in memory (both read and
write). Note that it doesn't crash immediately, it goes on for a
while, but sooner or later it crashes. If I comment out this
line, everything works fine. However, if I don't free the memory,
I'll have a memory leak. Any hints/advice/guesses?