https://issues.dlang.org/show_bug.cgi?id=17326

Rainer Schuetze <r.sagita...@gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |r.sagita...@gmx.de

--- Comment #2 from Rainer Schuetze <r.sagita...@gmx.de> ---
DLLs with clear separation of ownership work fine (e.g. Visual D is a DLL).

As said repeatedly, the GC proxy mechanism is no good but for very simple use
cases. Threads need to be shared, too, so the GC can stop and analyze them.
Anything happening in a destructor needs to be executed against the correct
runtime library, including the C runtime.

Despite that, the proxy mechanism is still there, you can use it as shown in
https://wiki.dlang.org/Win32_DLLs_in_D#D_code_calling_D_code_in_DLLs: export
gc_setProxy by the DLL and use Runtime.loadLibrary instead of LoadLibraryA to
load it.

It's unfortunate that gcstub/gc.d has not been updated (or better removed). You
can now select something similar by embedding 

  extern(C) __gshared string[] rt_options = [ "gcopt=gc:manual" ]

into the binary. See http://dlang.org/spec/garbage.html#gc_config

--

Reply via email to