Re: big text field -> message type 0x44
От | Kevin Brown |
---|---|
Тема | Re: big text field -> message type 0x44 |
Дата | |
Msg-id | 20021205045912.GC31342@filer обсуждение исходный текст |
Ответ на | Re: big text field -> message type 0x44 (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | 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 по дате отправления: