On Mon, 23 Apr 2012 08:36:59 -0400, Kapps <[email protected]> wrote:
On Monday, 23 April 2012 at 12:11:19 UTC, Benjamin Thaut wrote:
If what you are saying is true, the deadlock must happen somewhere
else. This was kind of a assumption because the deadlock happend after
I added all the malloc / free calls. Because all the threads are
stopped when this happens I can't really debug this, because the Visual
Studio debugger tells me that it can not debug any thread but the one
that is currently running the GC.
Kind Regards
Ingrater
Are these threads created by core.thread.Thread, or are they created
through different means such as native OS calls or a C api? If the
latter, you have to register them with the runtime (I think it was
something like Thread.attachThis), otherwise issues like this will
happen.
No. Dtor calls should all be done while all threads are running. The
portion of the GC collection cycle which requires the world to be stopped
should not be doing any locking/unlocking in arbitrary C libs. If it is,
it's a bug.
-Steve