Re: Wrt. threadlocal by default: shared module constructors

2009-05-15 Thread downs
Christopher Wright wrote: > Brad Roberts wrote: >> An interesting side effect of these changes is that thread startup >> cost is going to increase. Yet more reasons to avoid globals and >> global initialization. >> >> -- Brad > > It'll further promote use of threadpools. This isn't terribly safe

Re: Wrt. threadlocal by default: shared module constructors

2009-05-13 Thread Derek Parnell
On Wed, 13 May 2009 18:31:57 -0700, Brad Roberts wrote: > Which argues for the globals to be immutable, so the cost goes away and > we're back where we started. :) Which actually brings back memories of my COBOL and IBM/360 assembler days. The mantra then was "everything must be reenterant" so

Re: Wrt. threadlocal by default: shared module constructors

2009-05-13 Thread Brad Roberts
On Wed, 13 May 2009, Christopher Wright wrote: > Brad Roberts wrote: > > An interesting side effect of these changes is that thread startup cost is > > going to increase. Yet more reasons to avoid globals and global > > initialization. > > > > -- Brad > > It'll further promote use of threadpool

Re: Wrt. threadlocal by default: shared module constructors

2009-05-13 Thread Christopher Wright
Brad Roberts wrote: An interesting side effect of these changes is that thread startup cost is going to increase. Yet more reasons to avoid globals and global initialization. -- Brad It'll further promote use of threadpools. This isn't terribly safe because the globals for that thread are

Re: Wrt. threadlocal by default: shared module constructors

2009-05-13 Thread Brad Roberts
On Thu, 14 May 2009, Lionello Lunesu wrote: > Denis Koroskin wrote: > > On Wed, 13 May 2009 16:50:25 +0400, downs wrote: > > > > > So .. how will the threadlocal global variables be initialized? > > > > > > Obviously, they can't be initialized in the static constructor, since > > > that is only

Re: Wrt. threadlocal by default: shared module constructors

2009-05-13 Thread Lionello Lunesu
Denis Koroskin wrote: On Wed, 13 May 2009 16:50:25 +0400, downs wrote: So .. how will the threadlocal global variables be initialized? Obviously, they can't be initialized in the static constructor, since that is only run once. But if the static constructors are run on every new thread, w

Re: Wrt. threadlocal by default: shared module constructors

2009-05-13 Thread Kagamin
In windows PROCESS_ATTACH is handles before THREAD_ATTACH.

Re: Wrt. threadlocal by default: shared module constructors

2009-05-13 Thread Denis Koroskin
On Wed, 13 May 2009 16:50:25 +0400, downs wrote: > So .. how will the threadlocal global variables be initialized? > > Obviously, they can't be initialized in the static constructor, since > that is only run once. > > But if the static constructors are run on every new thread, what about > th

Wrt. threadlocal by default: shared module constructors

2009-05-13 Thread downs
So .. how will the threadlocal global variables be initialized? Obviously, they can't be initialized in the static constructor, since that is only run once. But if the static constructors are run on every new thread, what about the shared variables that only need to be initialized once? For th