Re: [PATCHES] UnixWare/CVS Tip/initdb.c needs to use threads - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [PATCHES] UnixWare/CVS Tip/initdb.c needs to use threads
Date
Msg-id 200403220612.i2M6C3w27199@candle.pha.pa.us
Whole thread Raw
Responses Re: [PATCHES] UnixWare/CVS Tip/initdb.c needs to use threads
List pgsql-hackers
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.

--  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
 


pgsql-hackers by date:

Previous
From: Christopher Kings-Lynne
Date:
Subject: Re: SET WITHOUT CLUSTER patch
Next
From: Karel Zak
Date:
Subject: Re: COPY formatting