[Issue 24532] New: Add pragma to set function as a TLS callback function for Windows

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu May 2 22:46:56 UTC 2024


https://issues.dlang.org/show_bug.cgi?id=24532

          Issue ID: 24532
           Summary: Add pragma to set function as a TLS callback function
                    for Windows
           Product: D
           Version: D2
          Hardware: All
                OS: Windows
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: alphaglosined at gmail.com

The ``DllMain`` function on Windows is an optional /user/ function for being
notified of when a binary load/unload or thread constructs and destructs.

However, it is not really an entry point function akin to ``main``.

It should be viewed as one of many call-back functions for TLS.

https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#tls-callback-functions

Having a pragma to set a function as one of these, would enable multiple
library notifications without tying up and using the ``DllMain`` function. For
druntime this is especially important if you want that to be a static library,
preventing the need for ``SimpleDllMain`` to exist.

Related: https://issues.dlang.org/show_bug.cgi?id=23756 which is about thread
hooks similar to crt_constructor.

--


More information about the Digitalmars-d-bugs mailing list