Re: Thread configure flag - Mailing list pgsql-patches

From Peter Eisentraut
Subject Re: Thread configure flag
Date
Msg-id Pine.LNX.4.44.0306190002370.2501-100000@peter.localdomain
Whole thread Raw
In response to Re: Thread configure flag  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: Thread configure flag  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-patches
Bruce Momjian writes:

> First, ecpg has actual thead creation function calls, so I believe we
> will still need a --with-threads configure option, at least to control
> ecpg, unless we make threading some kind of ecpg runtime flag.

This is not an issue because it only affects the libecpg library.

> So, if we move in the libpq_r direction, we will have some platforms
> that don't have libpq_r because they don't need it, and others that
> don't have it because they don't support threading or we don't know how
> to do threading in our configure tests.  This seems very confusing to
> me.

On a system with a separate libc_r, you *already* need special compiler
flags to link thread-safe applications.  So it is only consistent that
libpq applications also need special flags.  For example, a normal
application is linked so:

cc -o prog prog1.o prog2.o -lpq -lc

(well, you don't write the -lc) and a thread-safe application is linked
so:

cc -o prog prog1.o prog2.o -lpq_r -lc_r

> I wonder if we should just keep the current setup for 7.4 and
> collect theading configure information, then revisit this for 7.5.

Well, when the packagers wrap up 7.4 they're going to need to make a call.
Either it's not going to be thread-safe, and the work was in vain, or it's
thread-safe and the concerns about the supposed performance hits are not
addressed.

--
Peter Eisentraut   peter_e@gmx.net


pgsql-patches by date:

Previous
From: Rod Taylor
Date:
Subject: System Catalog Foreign Keys (linked)
Next
From: Kim Ho
Date:
Subject: Allow setObject(x,y,Types.INTEGER) if y is Boolean & added Boolean to SQL Keywords