[Gc] Win32: DLLs and thread registration
hans.boehm at hp.com
Wed Feb 6 17:33:00 PST 2008
> From: Christian Gudrian
> 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