| From: | "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com> | 
|---|---|
| To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | <pgsql-hackers(at)postgresql(dot)org>, <pgsql-hackers-win32(at)postgresql(dot)org>, "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us>, "Shridhar Daithankar" <shridhar_daithankar(at)persistent(dot)co(dot)in>, "Claudio Natoli" <claudio(dot)natoli(at)memetrics(dot)com> | 
| Subject: | Re: [HACKERS] Threads vs Processes | 
| Date: | 2003-09-26 12:11:44 | 
| Message-ID: | 303E00EBDD07B943924382E153890E5434A9E2@cuthbert.rcsinc.local | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers pgsql-hackers-win32 | 
Tom Lane wrote:
"Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com> writes:
>> All TLS variables *must* be static (or implicitly static
>> through extern, i.e. no 'auto' variables)
>I assume you mean static as in not-auto, rather than static as in
>not-global.  Otherwise we have a problem here.
Yes, you are correct.
>> and their addresses can not be
>> assumed to be constant.
>Surely the addresses can be assumed constant within a thread.
Otherwise
>we have a problem here too.
Quoting from the MSDN:
The address of a thread local object is not considered constant, and any
expression involving such an address is not considered a constant
expression. In standard C, the effect of this is to forbid the use of
the address of a thread local variable as an initializer for an object
or pointer. For example, the following code will be flagged as an error
by the C compiler: 
#define Thread  __declspec( thread )
Thread int tls_i;
int *p = &tls_i;        //This will generate an error in C.
<end>
(Note this does not apply to C++)
>> Taking addresses of TLS variables should be considered illegal,
>Sorry, no can accept that restriction.
I thought not.  I believe if TLS variables are detail managed through
the win32 API, some of these problems can be avoided (after all, these
examples are for the Microsoft compiler). 
Merlin
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Shridhar Daithankar | 2003-09-26 12:34:11 | Re: [HACKERS] Threads vs Processes | 
| Previous Message | Sailesh Krishnamurthy | 2003-09-26 10:09:39 | Re: PostgreSQL not ACID compliant? | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Shridhar Daithankar | 2003-09-26 12:34:11 | Re: [HACKERS] Threads vs Processes | 
| Previous Message | Zeugswetter Andreas SB SD | 2003-09-26 08:53:14 | Re: [HACKERS] Threads vs Processes |