Bruce Momjian wrote:
> Larry Rosenman wrote:
> > The a.out (not any library) should be linked with -Kpthread (not
> > -lpthread).
> > This will force libthread to be linked in the right order relative to
> > libc, libC, networking libraries, etc.
> >
> > In other words, the entire application either is or is not linked with
> > threads; it's not a property of an individual library.
> >
> >
> > SO, IF we are using the threads flags, we need to use them on ALL
> > libpq-using programs, ours or the users.
>
> Seems we have a few options for making threaded libpq on Unixware:
>
> o remove thread-safe SIGPIPE code, which calls thread library
>
> o create a threaded and non-threaded libpq library
>
> o add a libpq function that enables threading, and do dynamic
> linking of thread calls based on that function
>
> o Add thread flags to all builds on that platform, including
> the backend
>
> o Add the ability to specify compile/link flags for everything
> but the backend
>
> As I remember, libcrypt used to be required by all libpq builds on
> various platforms. This seems to be a similar case.
>
> I think the last option might be the best. Somehow create different
> cppflags/libs for the backend and non-backend programs.
One other option is to disable threads on this platform for 7.5 unless
we find another platforms that need this to use threads. That is the
direction I will take for the moment. If someone needs a threaded libpq
on this platform, then can enable threads, compile libpq alone, and
rename it with a thread extension.
-- 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