From: | eem21(at)cam(dot)ac(dot)uk |
---|---|
To: | tgl(at)sss(dot)pgh(dot)pa(dot)us |
Cc: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | Re: [INTERFACES] Asynchronous connect using libpq |
Date: | 1999-07-18 16:02:29 |
Message-ID: | E115tHg-00057Q-00@red.csi.cam.ac.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
On 18 Jul, Tom Lane wrote:
> 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.
Or a struct in_addr *. I'll have to see how IPv6 addresses are being
shoehorned into the socket schemes. Perhaps we could support them too.
>> 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!
Thanks!
Ewan.
From | Date | Subject | |
---|---|---|---|
Next Message | Herouth Maoz | 1999-07-19 11:09:28 | Re: [INTERFACES] JDBC driver/applet question |
Previous Message | Tom Lane | 1999-07-18 15:48:34 | Re: [INTERFACES] Asynchronous connect using libpq |