Re: [HACKERS] PostgreSQL libraries - PThread Support, but

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Lee Kindness <lkindness(at)csl(dot)co(dot)uk>, pgsql-hackers(at)postgresql(dot)org
Cc: pgsql-patches(at)postgresql(dot)org
Subject: Re: [HACKERS] PostgreSQL libraries - PThread Support, but
Date: 2003-06-14 13:59:04
Message-ID: 200306141359.h5EDx4900776@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches


I see these in the patch:

/* Setup _THREAD_SAFE and _POSIX_PTHREAD_SEMANTICS, this will disappear
* in time once tests to determine correct compiler switches for threads
* are added to configure.
*/
#if !defined _THREAD_SAFE
#define _THREAD_SAFE
#endif
#if !defined _POSIX_PTHREAD_SEMANTICS
#define _POSIX_PTHREAD_SEMANTICS
#endif

What platforms use these? Linux? I don't see them on BSD/OS.

---------------------------------------------------------------------------

Lee Kindness wrote:
Content-Description: message body text

> Patch attached, along with new libpq-reentrant.c and libpq-reentrant.h
> files for src/interfaces/libpq.
>
> Also at http://services.csl.co.uk/postgresql/
>
> Thanks, Lee.
>
> Lee Kindness writes:
> > Ok guys, I propose that the new libpq diff and 2 source files which
> > i'll soon send to pgsql-patches is applied to the source. This diff is
> > a cleaned up version of the previous version with the wrapper
> > functions moved out into their own file and more comments added. Also
> > the use of crypt_r() has been removed (not worth the effort), the
> > cpp defines have been renamed to be consistent with each other and
> > Tom's concerns with loose #defines has been partly addressed.
> >
> > This diff does not include any configure changes. I plan to tackle
> > this separately ASAP, and hopefully produce something more acceptable.
> >
> > I will add checks for appropriate compiler thread flags (for compiling
> > libpq, and alow the removal of #defines in libpq-reentrant.h), and
> > link flags & libs (for a planned threaded libpq test program and
> > renentrant ecpg library). If a thread environment is found then check
> > for the reentrant functions will be done.
> >
> > Looking at various open source projects configure.in files there seems
> > to be little commonality in the thread test macros (telp gratefully
> > accepted!), I currently think that something like the approach used by
> > glib is most suitable (switch on OS).
> >
> > All sound acceptable?
> >
> > Thanks, Lee.
> >
> > Peter Eisentraut writes:
> > > Lee Kindness writes:
> > >
> > > > Patches attached to make libpq thread-safe, now uses strerror_r(),
> > > > gethostbyname_r(), getpwuid_r() and crypt_r() where available. Where
> > > > strtok() was previously used strchr() is now used.
> > >
> > > AC_TRY_RUN tests are prohibited. Also, try to factor out some of these
> > > huge tests into separate macros and put them into config/c-library.m4.
> > > And it would be nice if there was some documentation about what was
> > > checked for. If you just want to check whether gethostbyname_r() has 5 or
> > > 6 arguments you can do that in half the space.
>

[ Attachment, skipping... ]

[ Attachment, skipping... ]

[ Attachment, skipping... ]

--
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 Nick Fankhauser 2003-06-14 14:40:30 A bit OT- RE: [PERFORM] Re-ordering .CONF params ... questions for this list
Previous Message Hans-Jürgen Schönig 2003-06-14 09:52:20 Table functions and AS clauses ...

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2003-06-14 14:35:17 Add thread.c and linkage
Previous Message Bruce Momjian 2003-06-14 00:01:17 Re: [HACKERS] PostgreSQL libraries - PThread Support, but