Re: [Mingw-w64-public] [PATCH 1/4] crt: Add an implementation of __cxa_atexit and __cxa_thread_atexit

2018-08-02 Thread Liu Hao
在 2018-08-02 14:58, Martin Storsjö 写道: > Sorry for the double post, I accidentally dropped Liu from the CC of the > previous reply, > It doesn't matter, as I have subscribed to this list, and my client (ThunderBird) filters out duplicate mails. BTW, I have my name spelled in the surname-first

Re: [Mingw-w64-public] [PATCH 1/4] crt: Add an implementation of __cxa_atexit and __cxa_thread_atexit

2018-08-02 Thread Martin Storsjö
Sorry for the double post, I accidentally dropped Liu from the CC of the previous reply, On Thu, 2 Aug 2018, Martin Storsjö wrote: On Thu, 2 Aug 2018, Liu Hao wrote: 在 2018/8/2 13:56, Martin Storsjö 写道: Yes, a responsible user would join all his threads before calling exit() or returning

Re: [Mingw-w64-public] [PATCH 1/4] crt: Add an implementation of __cxa_atexit and __cxa_thread_atexit

2018-08-02 Thread Martin Storsjö
On Thu, 2 Aug 2018, Martin Storsjö wrote: On Thu, 2 Aug 2018, Liu Hao wrote: 在 2018/8/2 13:56, Martin Storsjö 写道: Yes, a responsible user would join all his threads before calling exit() or returning from main, there's no disagreement about that. But the problematic case I'm thinking about

Re: [Mingw-w64-public] [PATCH 1/4] crt: Add an implementation of __cxa_atexit and __cxa_thread_atexit

2018-08-02 Thread Liu Hao
在 2018/8/2 13:56, Martin Storsjö 写道: > Yes, a responsible user would join all his threads before calling exit() > or returning from main, there's no disagreement about that. > > But the problematic case I'm thinking about is when you load and unload > e.g. plugins, which may contain TLS

Re: [Mingw-w64-public] [PATCH 1/4] crt: Add an implementation of __cxa_atexit and __cxa_thread_atexit

2018-08-01 Thread Martin Storsjö
On Thu, 2 Aug 2018, Liu Hao wrote: 在 2018/8/1 17:48, Martin Storsjö 写道: I don't see any nonzero lpReserved parameter when the process is terminating; I tried both just returning normally from main, calling exit(), ExitProcess() and abort() - none of them give anything else than the usual

Re: [Mingw-w64-public] [PATCH 1/4] crt: Add an implementation of __cxa_atexit and __cxa_thread_atexit

2018-08-01 Thread Liu Hao
在 2018/8/1 17:48, Martin Storsjö 写道: > To verify, I did a s/cxa/foo/ on this file, and compiled it with GCC, > and the resulting object file didn't have any references to cxa_. > I misunderstood it. > I don't see any nonzero lpReserved parameter when the process is > terminating; I tried both

Re: [Mingw-w64-public] [PATCH 1/4] crt: Add an implementation of __cxa_atexit and __cxa_thread_atexit

2018-08-01 Thread Liu Hao
在 2018/8/1 15:43, Martin Storsjö 写道: > In order to properly call destructors of a DLL when that DLL is > unloaded, we need to provide these as part of the static library > libmingw32.a, which gets linked into the module itself. > ( ... ... ) > +static CRITICAL_SECTION lock; > +static int inited =