Re: Thread-safe configuration option appears to

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: 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:29:08
Message-ID: 200308062329.h76NT8D23170@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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.

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Dann Corbit 2003-08-06 23:35:40 Re: Thread-safe configuration option appears to
Previous Message Tom Lane 2003-08-06 23:22:07 Re: Release changes