From: | "Keith Bottner" <kbottner(at)comcast(dot)net> |
---|---|
To: | "'Bruce Momjian'" <pgman(at)candle(dot)pha(dot)pa(dot)us> |
Cc: | "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "'Claudio Natoli'" <claudio(dot)natoli(at)memetrics(dot)com>, "'Robert Treat'" <xzilla(at)users(dot)sourceforge(dot)net>, <pgsql-hackers(at)postgresql(dot)org>, <pgsql-hackers-win32(at)postgresql(dot)org> |
Subject: | Re: [HACKERS] Threads vs Processes (was: NuSphere and PostgreSQL for windows) |
Date: | 2003-09-25 19:16:24 |
Message-ID: | 003301c38399$82fc3eb0$7d00a8c0@juxtapose |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-hackers-win32 |
I do not know for sure to what extent GCC supports TLS on Windows. There are
compiler extensions that can be used under Windows, like __declspec(thread)
which automagically handles the declaration and initialization of the TLS
variable rather than dynamically calling the TlsAlloc, TlsFree, TlsSetValue,
and TlsGetValue. I also believe they have extensions in the compiler that
recognize that you are using TLS (when using __declspec) and therefore allow
you to access them without having to use the TlsSetValue and TlsGetValue.
Sorry I don't about GCC, but I hope this additional information helps.
Keith
-----Original Message-----
From: Bruce Momjian [mailto:pgman(at)candle(dot)pha(dot)pa(dot)us]
Sent: Thursday, September 25, 2003 11:57 AM
To: Keith Bottner
Cc: 'Tom Lane'; 'Claudio Natoli'; 'Robert Treat';
pgsql-hackers(at)postgresql(dot)org; pgsql-hackers-win32(at)postgresql(dot)org
Subject: Re: [HACKERS] Threads vs Processes (was: NuSphere and PostgreSQL
for windows)
Keith Bottner wrote:
> Typically variables that you want to be per-thread are stored in what
> Microsoft calls Thread Local Storage (TLS). Variables that you want
> shared you can just treat as globals and statics with the appropriate
> threading synchronization primitives. With Windows 2000 and later you
> have up to 1088 TLS locations that you can use, of course these can be
> pointers to memory which can store whatever you want.
Goes GCC on Windows support TLS, or only Microsoft compilers?
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
From | Date | Subject | |
---|---|---|---|
Next Message | Nigel J. Andrews | 2003-09-25 19:29:54 | Re: pgsql procedures?? |
Previous Message | Tom Lane | 2003-09-25 19:09:15 | Re: invalid tid errors in latest 7.3.4 stable. |
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2003-09-25 19:48:43 | Re: [HACKERS] Threads vs Processes |
Previous Message | Cyrille Chepelov | 2003-09-25 18:22:18 | Re: [HACKERS] Threads vs Processes (was: NuSphere and PostgreSQL for |