Re: Add client connection check during the execution of the query - Mailing list pgsql-hackers

From Bharath Rupireddy
Subject Re: Add client connection check during the execution of the query
Date
Msg-id CALj2ACVyCd=t9G9JnNPe-HgVbm6f1Cdn+LJUzYK=sJA-gbbGCQ@mail.gmail.com
Whole thread Raw
In response to Re: Add client connection check during the execution of the query  (Thomas Munro <thomas.munro@gmail.com>)
Responses Re: Add client connection check during the execution of the query
List pgsql-hackers
On Thu, Apr 1, 2021 at 11:29 AM Thomas Munro <thomas.munro@gmail.com> wrote:
>
> On Tue, Mar 30, 2021 at 10:00 AM Thomas Munro <thomas.munro@gmail.com> wrote:
> > If we want to ship this in v14 we have to make a decision ASAP:
> >
> > 1.  Ship the POLLHUP patch (like v9) that only works reliably on
> > Linux.  Maybe disable the feature completely on other OSes?
> > 2.  Ship the patch that tries to read (like v7).  It should work on
> > all systems, but it can be fooled by pipelined commands (though it can
> > detect a pipelined 'X').
> >
> > Personally, I lean towards #2.
>
> I changed my mind.  Let's commit the pleasingly simple Linux-only
> feature for now, and extend to it to send some kind of no-op message
> in a later release.  So this is the version I'd like to go with.
> Objections?
>
> I moved the GUC into tcop/postgres.c and tcop/tcopprot.h, because it
> directly controls postgres.c's behaviour, not pqcomm.c's.  The latter
> only contains the code to perform the check.

Here's a minor comment: it would be good if we have an extra line
after variable assignments, before and after function calls/if
clauses, something like

+    pollfd.revents = 0;
+
+    rc = poll(&pollfd, 1, 0);
+
+    if (rc < 0)

And also here
     }
+
+    if (CheckClientConnectionPending)
+    {
+        CheckClientConnectionPending = false;

And
+        }
+    }
+
     if (ClientConnectionLost)

And
+        0, 0, INT_MAX,
+        check_client_connection_check_interval, NULL, NULL
+    },
+
     /* End-of-list marker */

With Regards,
Bharath Rupireddy.
EnterpriseDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Dave Page
Date:
Subject: sepgsql logging
Next
From: Masahiko Sawada
Date:
Subject: Re: Replication slot stats misgivings