Lee Kindness wrote:
> Tom Lane writes:
> > Greg Stark <gsstark@mit.edu> writes:
> > > On the other hand, things like, getpwnam, strtok, etc have non-thread-safe
> > > APIs. They can never be made thread-safe. The *_r versions of these functions
> > > are standardized and required. If they don't exist then the platform simply
> > > does not support threads.
> >
> > This statement is simply false. A platform can build thread-safe
> > versions of those "unsafe" APIs if it makes the return values point
> > to thread-local storage. Some BSDs do it that way. Accordingly, any
> > simplistic "we must have _r to be thread-safe" approach is
> > incorrect.
>
> No, it's not. Using the _r functions on such systems is BETTER because
> the API is clean and the function can be implmented in a reentrant and
> thread-safe fashion wuithout the need for thread local storage or
> mutex locking.
I don't care about overhead at this point. These functions are rarely
called.
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073