Re: [INTERFACES] Asynchronous connect using libpq

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: eem21(at)cam(dot)ac(dot)uk
Cc: pgsql-interfaces(at)postgreSQL(dot)org
Subject: Re: [INTERFACES] Asynchronous connect using libpq
Date: 1999-07-18 15:48:34
Message-ID: 7232.932312914@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

eem21(at)cam(dot)ac(dot)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 connection between the remote
socket (peer) and the local socket specified by s. The call normally
blocks until the connection completes. If non-blocking mode has been
enabled using the O_NONBLOCK or O_NDELAY fcntl() flags or the FIOSNBIO
ioctl() request and the connection cannot be completed immediately,
connect() returns an error as described below. In these cases,
select() can be used on this socket to determine when the connection
has completed by 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

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message eem21 1999-07-18 16:02:29 Re: [INTERFACES] Asynchronous connect using libpq
Previous Message eem21 1999-07-18 15:24:39 Re: [INTERFACES] Asynchronous connect using libpq