Tomas Berndtsson <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html