Re: Weird behaviour on Solaris: recv() returns ENOENT

Поиск
Список
Период
Сортировка
От Forest Wilkinson
Тема Re: Weird behaviour on Solaris: recv() returns ENOENT
Дата
Msg-id bv4nfv0ohs0huc08vkl2g9hgt8edlsk6j9@4ax.com
обсуждение исходный текст
Ответы Re: Weird behaviour on Solaris: recv() returns ENOENT  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Weird behaviour on Solaris: recv() returns ENOENT  ("David F. Skoll" <dfs@roaringpenguin.com>)
Список pgsql-interfaces
I'm having a similar problem, but instead of ENOENT I'm getting what
appears to be ECONNREFUSED.  (PQresultStatus() says "Connection
refused".)  This is on a Solaris 9 box, with Postgres 7.3.2 and 7.3.3,
using libpq in a multithreaded program.  At the same time, postgres
writes "pq_recvbuf: unexpected EOF on client connection" to syslog
several times.

It seems to occur at random times, just after a perfectly legal query
was issued.  I'm looking futher into the program flow in hopes of
discovering a bug, but the problem doesn't show up in the same code
when both the program and postgres are running on linux.

What could be going on here?  David, did you ever resolve your
problem?


"David F. Skoll" (dfs@roaringpenguin.com) wrote:

>Hi,
>
>I'm having a customer running PostgreSQL 7.2.3 on Solaris 9 with
>PHP 4.3.0, and he's getting this error:
>
> could not receive data from server: No such file or directory
>
>grepping through the libpq source, it appears that the only way this
>message could happen is if recv() returns -1 with errno set to ENOENT.
>This is not one of the documented recv() error codes!
>
>My questions:
>
>1) Has anyone else ever seen this?
>2) Is libpq thread-safe?  Do you need to compile with special flags to
>   make it thread-safe?  My first guess is that he's using a multithreaded
>   version of PHP (with iPlanet Web server) and errno is not behaving properly.
>
>Regards,
>
>David.


В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Philip Yarra
Дата:
Сообщение: ECPG thread success (kind of) on Linux
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Weird behaviour on Solaris: recv() returns ENOENT