[Gc] Win32: DLLs and thread registration

Boehm, Hans hans.boehm at hp.com
Wed Feb 6 17:33:00 PST 2008

> From:  Christian Gudrian
> Hello!
> I have compiled the collector (current CVS version 7.1.3) as
> a DLL with Visual Studio 2008 Express Edition.  I've
> configured the collector to use DllMain registration (GC_DLL defined).
> I'm confused by a number of things:
It doesn't look to me like you're very confused.  Thanks for the comments.
> 1. GC_CreateThread is mapped back to the original
>     Windows API version by the exports definitions
>     file gc.def.  Why that?  GC_CreateThread thus
>     becomes inaccessible.
Looks like a bug to me.  It may have made sense sometime in the past.  I don't maintain gc.def or other stuff inthat directory.  If you want to post a corrected version and nobody objects, I'll use it, though.  It looks like the offending line should just be deleted?
> 2. The DLL does not export GC_register_my_thread,
>     which makes it hard for applications to register
>     their threads manually.  Probably GC_API has been
>     forgotten in the declaration?
Looks like that to me, too.  Some of its friends have the same problem.  I fixed it in my tree.  I'll check it in after minimal testing.

More later ...


More information about the Gc mailing list