Tom Lane <tgl@sss.pgh.pa.us> writes:
> Tomas Berndtsson <tomas@nocrew.org> writes:
> > Indeed you were right in this. But, if I added -D_REENTRANT to the
> > Makefile for libpq, it started to set it. If libpq should be thread
> > safe, I believe it should be compiled with -D_REENTRANT.
>
> > When I did this, recv still returns error, but now sets errno to
> > EAGAIN, so pqReadData() returns 1, giving the same result as removing
> > the if-statement that does the try again thing.
>
> Okay, so it seems -D_REENTRANT is the appropriate fix.
>
> We could either add that to the template/solaris file, or just add a
> note to FAQ_Solaris advising that it be added to the configure switches
> if people intend to use libpq in threaded programs. Is there any
> cost or downside to just adding it always in template/solaris?
Not that I know of. Some data (like errno) is made local for the
thread, so I suppose it takes a little more memory and maybe more disk
space, but else than that I don't think it affects much. But, then
again, I'm not an expert at these things. Someone else might know
more what the real difference is.
Tomas