Re: big text field -> message type 0x44 - Mailing list pgsql-hackers

From Tom Lane
Subject Re: big text field -> message type 0x44
Date
Msg-id 20610.1039042819@sss.pgh.pa.us
Whole thread Raw
In response to Re: big text field -> message type 0x44  (Tomas Berndtsson <tomas@nocrew.org>)
Responses Re: big text field -> message type 0x44
Re: big text field -> message type 0x44
List pgsql-hackers
Tomas Berndtsson <tomas@nocrew.org> writes:
> After it tries again, it always gets error from recv() for some reason
> that I don't know. I also don't understand why errno is set to ENOTTY
> at this point, that makes no sense at all.

Are you sure it is set?  Try setting errno=0 just before recv() (inside
the retry loop).  Maybe recv() is neglecting to set it in this case.

I suddenly have a recollection of something about some platform failing
to set errno when using threads.  Try searching the PG archives.

> By skipping the trying again if-statement, pqReadData() will always
> return proper data, and let the calling function deal with the fact
> that there is more data to be read.

I have no confidence in this.  If the calling function comes back for
more data, why wouldn't the recv() fail the same way?  A few more
instructions in between shouldn't change its behavior, one would think.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tomas Berndtsson
Date:
Subject: Re: big text field -> message type 0x44
Next
From: Peter Eisentraut
Date:
Subject: Re: PQnotifies() in 7.3 broken?