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?

Reply via email to