Re: libpq SSL with non-blocking sockets - Mailing list pgsql-hackers

From Robert Haas
Subject Re: libpq SSL with non-blocking sockets
Date
Msg-id BANLkTikbfkGCJuyiUdr=GOfjTc7=3q3x1w@mail.gmail.com
Whole thread Raw
In response to Re: libpq SSL with non-blocking sockets  (Steve Singer <ssinger_pg@sympatico.ca>)
List pgsql-hackers
On Fri, Jun 24, 2011 at 5:14 PM, Steve Singer <ssinger_pg@sympatico.ca> wrote:
> A few things I noticed (that you might be aware of since you mentioned it
> needs cleanup)
>
> -The patch doesn't compile with non-ssl builds,  the debug at the bottom of
> PQSendSome isn't in an #ifdef
>
> -I don't think your handling the return code properly.   Consider this case.
>
> pqSendSome(some data)
>   sslRetryBuf = some Data
>   return 1
> pqSendSome(more data)
>   it sends all of 'some data'
>   returns 0
>
> I think 1 should be returned because all of 'more data' still needs to be
> sent.  I think returning a 0 will break PQsetnonblocking if you call it when
> there is data in both sslRetryBuf and outputBuffer.
> We might even want to try sending the data in outputBuffer after we've sent
> all the data sitting in sslRetryBuf.
>
>
> If you close the connection with an outstanding sslRetryBuf you need to free
> it.

Based on these comments, I have updated the status of the patch to
"Waiting on Author".

https://commitfest.postgresql.org/action/patch_view?id=594

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: reducing the overhead of frequent table locks, v4
Next
From: Robert Haas
Date:
Subject: Re: heap_hot_search_buffer refactoring