Re: [INTERFACES] Asynchronous connect using libpq

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [INTERFACES] Asynchronous connect using libpq
Дата
Msg-id 7232.932312914@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [INTERFACES] Asynchronous connect using libpq  (eem21@cam.ac.uk)
Ответы Re: [INTERFACES] Asynchronous connect using libpq  (eem21@cam.ac.uk)
Список pgsql-interfaces
eem21@cam.ac.uk writes:
> I realised that some time after I sent my first message, and have been
> thinking about it since.  The delay for gethostbyname is not
> acceptable, and we are going to have to get around that problem
> elsewhere in the application anyway.  Therefore, I was thinking that I
> could arrange to pass an IP address into libpq.

A dotted-decimal address, you mean?  Yeah, that sounds like it should
work.

> With regards to the connect() problem, I was hoping that by setting the
> socket to non-blocking mode before connecting (exactly as it is
> currently done after the connect call) I could solve that problem.

By golly, there is something about non-blocking connect in the man page:
    If the socket is of type SOCK_STREAM, connect() attempts to contact    the remote host in order to make a
connectionbetween the remote    socket (peer) and the local socket specified by s.  The call normally    blocks until
theconnection completes.  If non-blocking mode has been    enabled using the O_NONBLOCK or O_NDELAY fcntl() flags or
theFIOSNBIO    ioctl() request and the connection cannot be completed immediately,    connect() returns an error as
describedbelow.  In these cases,    select() can be used on this socket to determine when the connection    has
completedby selecting it for writing.
 

Maybe you can make this work after all, with the limitation that the
user must supply a dotted-decimal IP address (or use a Unix-domain
connection) if he doesn't want to risk DNS lookup delays.

Good luck!
        regards, tom lane


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

Предыдущее
От: eem21@cam.ac.uk
Дата:
Сообщение: Re: [INTERFACES] Asynchronous connect using libpq
Следующее
От: eem21@cam.ac.uk
Дата:
Сообщение: Re: [INTERFACES] Asynchronous connect using libpq