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:[EMAIL PROTECTED] Sent: Thursday, September 25, 2003 11:57 AM To: Keith Bottner Cc: 'Tom Lane'; 'Claudio Natoli'; 'Robert Treat'; [EMAIL PROTECTED]; [EMAIL PROTECTED] 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 [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])