Re: [HACKERS] PostgreSQL libraries - PThread Support, but not use... - Mailing list pgsql-patches

From Lee Kindness
Subject Re: [HACKERS] PostgreSQL libraries - PThread Support, but not use...
Date
Msg-id 15901.33395.439420.35983@kelvin.csl.co.uk
Whole thread Raw
Responses Re: [HACKERS] PostgreSQL libraries - PThread Support, but not use...  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: [HACKERS] PostgreSQL libraries - PThread Support, but  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-patches
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.

Thanks, Lee.

Lee Kindness writes:
 > Tom Lane writes:
 >  > Bruce Momjian <pgman@candle.pha.pa.us> writes:
 >  > > We have definatly had requests for improved thread-safeness for libpq
 >  > > and ecpg in the past, so whatever you can do would be a help.  We say
 >  > > libpq is thread-safe, but specifically mention the non-threadsafe calls
 >  > > in the libpq documentation, or at least we should.
 >  > We do:
 >  > http://www.ca.postgresql.org/users-lounge/docs/7.3/postgres/libpq-threading.html
 >  > But Lee's point about depending on possibly-unsafe libc routines is a
 >  > good one.  I don't think anyone's gone through the code with an eye to
 >  > that.
 >
 > Right, so a reasonable angle for me to take is to go through the libpq
 > source looking for potential problem areas and use of "known bad"
 > functions. I can add autoconf checks for the replacement *_r()
 > functions, and use these in place of the traditional ones where
 > available.
 >
 > If any function is found to be not thread-safe and cannot be made so
 > using standard library calls then it needs to be documented as such
 > both in the source and the aforementioned documentation.
 >
 > This approach avoids any thread library dependencies and documents the
 > current state of play WRT thread safety (i.e it's a good, and needed,
 > basis for any later work).
 >
 > ECPG is a separate issue, and best handled as such (it will need
 > thread calls). I'll post a patch for it at a later date so the changes
 > are available to anyone who wants to play with ECPG and threads.
 >
 > Ta, Lee.


Attachment

pgsql-patches by date:

Previous
From: Patrick Macdonald
Date:
Subject: Re: updated PITR patch
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] PostgreSQL libraries - PThread Support, but not use...