Re: Non-blocking communication between a frontend and a backend (pqcomm)

From: Martin Pihlak <martin(dot)pihlak(at)gmail(dot)com>
To: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Non-blocking communication between a frontend and a backend (pqcomm)
Date: 2009-07-17 21:26:40
Message-ID: 4A60EC90.9000403@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Fujii Masao wrote:
> http://archives.postgresql.org/pgsql-hackers/2009-07/msg00191.php
>
> In line with Robert's suggestion, I submit non-blocking pqcomm patch
> as a self-contained one.
>

Here's my initial review of the non-blocking pqcomm patch. The patch applies
cleanly and passes regression. Generally looks nice and clean. Couple of remarks
from the department of nitpicking:

* In secure_poll() the handling of timeouts is different depending whether
poll(), select() or SSL_pending() is used. The latter doesn't use the
timeout value at all, and for select() it is impossible to specify indefinite
timeout.
* occasional "blank" lines consisting of a single tab character -- maybe
a left-over from editor auto-indent. Not sure of how much a problem this
is, given that the blanks will be removed by pg_indent.
* Comment on pq_wait() seems to have a typo: "-1 if an error directly."

I have done limited testing on Linux i686 (HAVE_POLL only) -- the non-blocking
functions behave as expected.

regards,
Martin

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Fetter 2009-07-17 21:41:09 Sort commitfest tables
Previous Message Tom Lane 2009-07-17 21:24:01 Re: WIP patch for TODO Item: Add prompt escape to display the client and server versions