[Issue 5382] New: [regression 2.051] DLL multi-threading broken
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Dec 28 00:28:57 PST 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5382
Summary: [regression 2.051] DLL multi-threading broken
Product: D
Version: D2
Platform: Other
OS/Version: Windows
Status: NEW
Keywords: patch
Severity: regression
Priority: P2
Component: druntime
AssignedTo: sean at invisibleduck.org
ReportedBy: r.sagitario at gmx.de
--- Comment #0 from Rainer Schuetze <r.sagitario at gmx.de> 2010-12-28 00:26:52 PST ---
With the modified circular dependency detection, thread initialization in DLLs
no longer works. This happens because the variable _moduleinfo_tlsdtors_i is
used to check whether TLS has been initialized, but it is now declared shared.
Here's a patch that does no longer rely on this variable:
Left file: C:\l\dmd-2.051\src\druntime\src\core\dll_helper.d
Right file: C:\l\dmd-2.051\src\druntime\src\core\dll_helper.org
381,383d380
< static bool tlsCtorRun;
< static this() { tlsCtorRun = true; }
<
389c386
< if( initTls && !tlsCtorRun ) // avoid duplicate calls
---
> if( initTls && !_moduleinfo_tlsdtors_i ) // avoid duplicate calls
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list