Guys, take a look at what was done in libpq to make it
thread-safe... No locks! No overheaded - just using "proper" reentrant
functions...

If we have libpq_r then we're making a complete hash of it all - being
reentrant is good, even if you're not using threads!

Now, ecpg is another issue...

L.

Bruce Momjian writes:
 > Shridhar Daithankar wrote:
 > > I repeat what I have said earlier. If there are two libraries A using libecpg_r 
 > > and B, using libecpg, then program linking against both of them is going to 
 > > have tough time living with symbol conflicts. 
 > > 
 > > I suppose problem will be reproducible even under freeBSD if you try to create  
 > > a postgresql function in C which uses threads. Link the library against libc_r 
 > > and link postgresql against libc. It would run into problems.
 > > 
 > > I am just stating my experiences.I might have missed solution to this problem. 
 > > 
 > > But overall I like GNU libc approach of everything thread safe by default. If 
 > > thread performance is an issue, then it should be improved. Not worked around 
 > > with two libraries.
 > 
 > I thought glibc was the one to introduce libc_r in the first place ---
 > are they making libc thread-safe now?
 > 
 > What OS's are still using libc_r for threaded-ness?  I never liked that
 > approach myself, and I resist adding it to our setup unless it is
 > required.
 > 
 > One problem now is that we don't have a way to create a separate libpq_r
 > for operating systems that use libc_r.  We just create libpq and it is
 > thread-safe.
 > 
 > As for the configure flag, we still need it because we don't know the
 > flags required by all our supported OS's.

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to