Re: Thread-safe configuration option appears to

From: "Dann Corbit" <DCorbit(at)connx(dot)com>
To: "Bruce Momjian" <pgman(at)candle(dot)pha(dot)pa(dot)us>, "Peter Eisentraut" <peter_e(at)gmx(dot)net>
Cc: "Lee Kindness" <lkindness(at)csl(dot)co(dot)uk>, "Larry Rosenman" <ler(at)lerctr(dot)org>, "PostgreSQL Development" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Thread-safe configuration option appears to
Date: 2003-08-06 23:35:40
Message-ID: D90A5A6C612A39408103E6ECDD77B8294CDFAA@voyager.corporate.connx.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> -----Original Message-----
> From: Bruce Momjian [mailto:pgman(at)candle(dot)pha(dot)pa(dot)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?

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2003-08-06 23:37:42 Re: Thread-safe configuration option appears to
Previous Message Bruce Momjian 2003-08-06 23:29:08 Re: Thread-safe configuration option appears to