--On Monday, September 01, 2003 12:35:43 -0400 Bruce Momjian <[EMAIL PROTECTED]> wrote:


Um. I don't think that's true. I mean, in theory it's true, but in
practice why would an OS have some *_r but have only non-thread-safe
versions of others?

Oh, interesting. So you are saying that if the OS supports threads, then we use the *_r if they have them, and assume the non *_r functions are already thread-safe if they don't. Interesting.

That seems to be what we have on Unixware, and on BSD/OS I have some *_r
functions but not others, but they are all threadsafe, so your plan
works there too.
UnixWare's Kernel is threaded, and I assume anything in libc is threadsafe unless
told otherwise.


[snip]
We could go down that road.  The only other OS that needs *_r functions
is Linux, and it uses all *_r functions.  How do we configure to throw
an error in that OS if we don't fined all of them?  Maybe we need a
three-valued variable instead of boolean NEED_REENTRANT_FUNC_NAMES.  We
could call it just REENTRANT_FUNC_NAMES and it could have values
'require', 'prefer', 'disable'.  This mimicks libpq's new PGSSLMODE
values.

That sounds like a clear plan.
I have no preference. I would just like to see a thread-safe libpq.




-- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 972-414-9812 E-Mail: [EMAIL PROTECTED] US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749


---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to