www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 19671] New: Function-local static/shared static data must be

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

          Issue ID: 19671
           Summary: Function-local static/shared static data must be
                    destroyed upon thread (process respectively)
                    termination
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: major
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: andrei erdani.com

This is an important core language issue because a fundamental invariant is
that data is being destroyed appropriately.

Most C++ implementation use atexit() to queue destruction of function-level
statics. I assume the new thread_local C++ facility is typically implemented
with the help of pthread_key_create().

We need to devise the appropriate mechanisms.

--
Feb 12 2019