digitalmars.D.bugs - [Issue 5382] New: [regression 2.051] DLL multi-threading broken
- d-bugmail puremagic.com (30/31) Dec 28 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5382
- d-bugmail puremagic.com (12/12) Feb 07 2011 http://d.puremagic.com/issues/show_bug.cgi?id=5382
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 invisibleduck.org ReportedBy: r.sagitario gmx.de 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: -------
Dec 28 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5382 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED 00:33:26 PST --- https://github.com/D-Programming-Language/druntime/commit/472a78beb32eec4e209e8d2a2e728e1b0203d8e1 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 07 2011