> -----Original Message-----
> From: Bruce Momjian [mailto:pgman@candle.pha.pa.us]
> Sent: Wednesday, August 06, 2003 4:29 PM
> To: Peter Eisentraut
> Cc: Lee Kindness; Larry Rosenman; PostgreSQL Development
> Subject: Re: [HACKERS] Thread-safe configuration option appears to
>
>
> Peter Eisentraut wrote:
> > Bruce Momjian writes:
> >
> > > First get your own platforms enabled for the existing
> thread flag,
> > > and we can revisit this when most/all our platforms are
> supported.
> > > We want to avoid confusion of having things work for some
> platforms
> > > and not others with no way to communicate that to the users.
> >
> > Yes, let's settle on that for now (= release 7.4): Without
> > --enable-thread-safety, you get the same old; with
> > --enable-thread-safety, you get _REENTRANT (or equivalent)
> for libpq
> > and libecpg, and you get pthreads in libecpg. Then users and
> > packagers can judge the impact on their platform for themselves.
> > While the release is out there, we can gather more data on this and
> > information for the forgotten platforms, and then for 7.5 we might
> > have something that pleases more people by default.
>
> OK.
>
> > Where I see this going, however, is three buckets: one group of
> > platforms will have near zero impact and there will be pressure to
> > enable thread safety by default (BSD/OS, Linux, UnixWare), a second
> > group of platforms where there will be an endless debate
> about which
> > is right (FreeBSD, AIX), and a third group of platforms
> that have no
> > thread-safety no matter how hard you look (mostly the old
> ones). So
> > in the end we will either have to document "libpq is thread-safe on
> > platform A, B, and C", or we will have to keep the switch for all
> > platforms and leave it off by default.
>
> I am hoping groups 1 and 2 can be merged. I think a good
> rule is that if libc is threadsafe, we can someday enable
> libpq to be thread-safe by default, and if there is a libc_r
> that is thread-safe, we create a libpq_r for that. In fact,
> I thought we were going to try that for 7.4 when
> --enable-thread-safety is added to configure.
>
> Perhaps by 7.5 we can enable the above logic by default.
>
> However, I do think we will have to mention the platforms
> that aren't thread-safe some day, of course, once we enable
> thread-safe by default.
Perhaps a portable BSD licensed threading library could be included for
platforms that do not have a safe thread interface.
Is there a known list of functions with reentrancy problems?