www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 5382] New: [regression 2.051] DLL multi-threading broken

reply d-bugmail puremagic.com writes:
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


--- Comment #0 from Rainer Schuetze <r.sagitario 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: -------
Dec 28 2010
parent d-bugmail puremagic.com writes:
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


--- Comment #1 from Walter Bright <bugzilla digitalmars.com> 2011-02-07
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