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

From Kevin Brown
Subject Re: big text field -> message type 0x44
Date
Msg-id 20021205045912.GC31342@filer
Whole thread Raw
In response to Re: big text field -> message type 0x44  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> 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.

I don't know whether or not things have changed significantly since
Solaris 2.4 (and perhaps 2.5), but I seem to remember that back then a
lot of the networking code was implemented in libraries on top of SVr4
TLI (Transport Layer Interface), and thus functions like recv() that
made use of internet domain sockets were actually just wrappers around
the TLI stuff.

If it's still implemented that way, I suppose there's the possibility
that recv() isn't thread-safe under Solaris, but I doubt it.  Such a
deficiency would be quite glaring considering what threads are used
for.

Just food for thought, for what it's worth...


- Kevin


pgsql-hackers by date:

Previous
From: Lamar Owen
Date:
Subject: Re: [GENERAL] PostgreSQL Global Development Group
Next
From: "Robert Treat"
Date:
Subject: Re: [GENERAL] PostgreSQL Global Development Group