Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rrK8o-00Gt0u-VD for pgsql-hackers@arkaria.postgresql.org; Mon, 01 Apr 2024 16:04:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rrK8n-00GQj1-Su for pgsql-hackers@arkaria.postgresql.org; Mon, 01 Apr 2024 16:04:09 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rrK8n-00GQis-9S for pgsql-hackers@lists.postgresql.org; Mon, 01 Apr 2024 16:04:09 +0000 Received: from mail-oa1-x32.google.com ([2001:4860:4864:20::32]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rrK8f-007dsg-TD for pgsql-hackers@postgresql.org; Mon, 01 Apr 2024 16:04:07 +0000 Received: by mail-oa1-x32.google.com with SMTP id 586e51a60fabf-22963f0e12cso2501203fac.1 for ; Mon, 01 Apr 2024 09:04:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=neon.tech; s=google; t=1711987442; x=1712592242; darn=postgresql.org; h=in-reply-to:references:from:to:subject:cc:message-id:date :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=0CvOgt3/AoKR6CtSSzF8Wsb95EHpnlm4Q7cv2eNaP+I=; b=XZUOTwbIbNtze9PhKUUc2zvloP0aOorhfSs3pySvgJ1wkR+Cm2fAGegA472g9eOtrp 2rt3/shm4mfRa7XT/TU9wQ2Dt/1WQPnSlROJv9/EjCUFXFhHCgMG5snlHBoBc3CZon7D 2xBzuaPn3vjLL+lbaSQzylQ1tDaEVg36MOtt4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711987442; x=1712592242; h=in-reply-to:references:from:to:subject:cc:message-id:date :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0CvOgt3/AoKR6CtSSzF8Wsb95EHpnlm4Q7cv2eNaP+I=; b=gcvZAnfEpWVp/ZvL3g0/jhf9HSQZrdkCze2uTTAxOB25E9kagsZAVTSzZsQz5ierwh 3JWfKsweLRfpd6Xat3Jpy13Hqz1Qy6Q/3XApxB2JvcCLnVDYXPXkb1KIyQ4USoejC6tD mW7bucmTQwmaLaL56itCllZk5uDUYPl5e+QquB49/m4Y2m3eW43vdROmlE0gdH7JWObn 933fBwnX1XBlSgp82UIVuZlbYpUyX4ahdBSGq7RzFynEtWJVgsINhOLjQnNDiOwBQ69a 4XWzHBnA7im8CI8kYWsj+987jQbyFVOrlmuWNjNTtX4L/H3zO6p0++AV/VFoaSy3eND6 jFtg== X-Forwarded-Encrypted: i=1; AJvYcCV2cLxzASKioVoRbkqljSRuZDGSzjXls3c5mYdGCHD7LcbM73pbr4gjD0Gj2fJXrOV82HnL7Pth1Eztp9bjx0jAduHf0CIG7tJ6R2pH X-Gm-Message-State: AOJu0YzV/F6FHhvTdJuyQbQZm7MpChEJMUdCClItZ3Jc7Nv6IFNdrS5B lCn/aYwjEQerExEpQc6qRdFIJu+J7kbDpCpWnalm+QJEXxssAMGeHhKAqL0zrJnxEfVzM0eKEis Q X-Google-Smtp-Source: AGHT+IFbhs7UkC8KeXOTb4q+zMKKkvI5sZbigZHRoPKl4Y3ijgPajNW8gWr5QRMZw75CrxCwnzAQpA== X-Received: by 2002:a05:6871:a60c:b0:22d:fa53:5695 with SMTP id we12-20020a056871a60c00b0022dfa535695mr9444098oab.25.1711987442300; Mon, 01 Apr 2024 09:04:02 -0700 (PDT) Received: from localhost ([2607:fb90:e69b:c883:3996:e070:71ee:42fb]) by smtp.gmail.com with ESMTPSA id yb6-20020a05687167c600b0022aab7d07easm2744155oab.11.2024.04.01.09.04.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 01 Apr 2024 09:04:01 -0700 (PDT) Content-Type: multipart/mixed; boundary=9b1c777270c942ee008abeed7dc14ac2d6b10ff41145df644d4e4ec5fdb0 Mime-Version: 1.0 Date: Mon, 01 Apr 2024 11:04:00 -0500 Message-Id: Cc: "Jelte Fennema-Nio" , "Heikki Linnakangas" , "Tom Lane" , , "Shlok Kyal" Subject: Re: psql not responding to SIGINT upon db reconnection To: "Robert Haas" From: "Tristan Partin" X-Mailer: aerc 0.17.0-82-g6ffc0ed5991b References: <1588058.1690220636@sss.pgh.pa.us> <5e28b89f-0033-4e42-8184-b71b731c1aa2@iki.fi> <9b3693b7-0bc3-430a-b43f-eae44e8a39b6@iki.fi> <032868e0-a530-4fc7-972c-af6f08950b7e@iki.fi> In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --9b1c777270c942ee008abeed7dc14ac2d6b10ff41145df644d4e4ec5fdb0 Content-Type: multipart/alternative; boundary=65d9ac5845e036fdab946753c724990a98e71732205b4188f6350e43a6b1 --65d9ac5845e036fdab946753c724990a98e71732205b4188f6350e43a6b1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Type: text/plain; charset=UTF-8; format=Flowed On Mon Mar 25, 2024 at 1:44 PM CDT, Robert Haas wrote: > On Fri, Mar 22, 2024 at 4:58=E2=80=AFPM Tristan Partin wrote: > > I had a question about parameter naming. Right now I have a mix of > > camel-case and snake-case in the function signature since that is what > > I inherited. Should I change that to be consistent? If so, which case > > would you like? > > Uh... PostgreSQL is kind of the wild west in that regard. The thing to > do is look for nearby precedents, but that doesn't help much here > because in the very same file, libpq-fe.h, we have: > > extern int PQsetResultAttrs(PGresult *res, int numAttributes, > PGresAttDesc *attDescs); > extern int PQsetvalue(PGresult *res, int tup_num, int field_num, > char *value, int len); > > Since the existing naming is consistent with one of those two styles, > I'd probably just leave it be. > > + The function returns a value greater than 0 > if the specified condition > + is met, 0 if a timeout occurred, or > -1 if an error > + or interrupt occurred. In the event forRead an= d > > We either need to tell people how to find out which error it was, or > if that's not possible and we can't reasonably make it possible, we > need to tell them why they shouldn't care. Because there's nothing > more delightful than someone who shows up and says "hey, I tried to do > XYZ, and I got an error," as if that were sufficient information for > me to do something useful. > > + end_time is the time in the future in > seconds starting from the UNIX > + epoch in which you would like the function to return if the > condition is not met. > > This sentence seems a bit contorted to me, like maybe Yoda wrote it. I > was about to try to rephrase it and maybe split it in two when I > wondered why we need to document how time_t works at all. Can't we > just say something like "If end_time is not -1, it specifies the time > at which this function should stop waiting for the condition to be > met" -- and maybe move it to the end of the first paragraph, so it's > before where we list the meanings of the return values? Incorporated feedback, I have :). --=20 Tristan Partin Neon (https://neon.tech) --65d9ac5845e036fdab946753c724990a98e71732205b4188f6350e43a6b1-- --9b1c777270c942ee008abeed7dc14ac2d6b10ff41145df644d4e4ec5fdb0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v11-0001-Expose-PQsocketPoll-for-frontends.patch Content-Type: text/x-patch; charset=utf-8; name=v11-0001-Expose-PQsocketPoll-for-frontends.patch RnJvbSAxNGM3OTRkOTY5OWY3YjlmMjdkMWE0ZWMwMjZmNzQ4YzZiN2Q4ODUzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUcmlzdGFuIFBhcnRpbiA8dHJpc3RhbkBuZW9uLnRlY2g+CkRh dGU6IFR1ZSwgMzAgSmFuIDIwMjQgMTU6NDA6NTcgLTA2MDAKU3ViamVjdDogW1BBVENIIHYxMSAx LzJdIEV4cG9zZSBQUXNvY2tldFBvbGwgZm9yIGZyb250ZW5kcwoKUFFzb2NrZXRQb2xsIHNob3Vs ZCBoZWxwIHdpdGggc3RhdGUgbWFjaGluZSBwcm9jZXNzaW5nIHdoZW4gY29ubmVjdGluZwp0byBh IGRhdGFiYXNlIGFzeW5jaHJvbm91c2x5IHZpYSBQUWNvbm5lY3RTdGFydCgpLgotLS0KIGRvYy9z cmMvc2dtbC9saWJwcS5zZ21sICAgICAgICAgIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0KIHNyYy9pbnRlcmZhY2VzL2xpYnBxL2V4cG9ydHMudHh0IHwgIDEgKwogc3JjL2lu dGVyZmFjZXMvbGlicHEvZmUtbWlzYy5jICAgfCAgNyArKystLS0KIHNyYy9pbnRlcmZhY2VzL2xp YnBxL2xpYnBxLWZlLmggIHwgIDQgKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25z KCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9saWJwcS5zZ21s IGIvZG9jL3NyYy9zZ21sL2xpYnBxLnNnbWwKaW5kZXggZDNlODcwNTZmMmMuLmU2OWZlYWNmZTZh IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvbGlicHEuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwv bGlicHEuc2dtbApAQCAtMjYyLDYgKzI2Miw0MSBAQCBQR2Nvbm4gKlBRc2V0ZGIoY2hhciAqcGdo b3N0LAogICAgICA8L2xpc3RpdGVtPgogICAgIDwvdmFybGlzdGVudHJ5PgogCisgICAgPHZhcmxp c3RlbnRyeSBpZD0ibGlicHEtUFFzb2NrZXRQb2xsIj4KKyAgICAgPHRlcm0+PGZ1bmN0aW9uPlBR c29ja2V0UG9sbDwvZnVuY3Rpb24+PGluZGV4dGVybT48cHJpbWFyeT5QUXNvY2tldFBvbGw8L3By aW1hcnk+PC9pbmRleHRlcm0+PC90ZXJtPgorICAgICA8bGlzdGl0ZW0+CisgICAgICA8cGFyYT4K KyAgICAgICA8aW5kZXh0ZXJtPjxwcmltYXJ5Pm5vbmJsb2NraW5nIGNvbm5lY3Rpb248L3ByaW1h cnk+PC9pbmRleHRlcm0+CisgICAgICAgUG9sbCBhIGNvbm5lY3Rpb24mYXBvcztzIHVuZGVybHlp bmcgc29ja2V0IGRlc2NyaXB0b3IgcmV0cmlldmVkIHdpdGggPHhyZWYgbGlua2VuZD0ibGlicHEt UFFzb2NrZXQiLz4uCis8c3lub3BzaXM+CitpbnQgUFFzb2NrZXRQb2xsKGludCBzb2NrLCBpbnQg Zm9yUmVhZCwgaW50IGZvcldyaXRlLCB0aW1lX3QgZW5kX3RpbWUpOworPC9zeW5vcHNpcz4KKyAg ICAgIDwvcGFyYT4KKworICAgICAgPHBhcmE+CisgICAgICAgVGhpcyBmdW5jdGlvbiBzZXRzIHVw IHBvbGxpbmcgb2YgYSBmaWxlIGRlc2NyaXB0b3IuIFRoZSB1bmRlcmx5aW5nIGZ1bmN0aW9uIGlz IGVpdGhlcgorICAgICAgIDxmdW5jdGlvbj5wb2xsKDIpPC9mdW5jdGlvbj4gb3IgPGZ1bmN0aW9u PnNlbGVjdCgyKTwvZnVuY3Rpb24+LCBkZXBlbmRpbmcgb24gcGxhdGZvcm0KKyAgICAgICBzdXBw b3J0LiBUaGUgcHJpbWFyeSB1c2Ugb2YgdGhpcyBmdW5jdGlvbiBpcyBpdGVyYXRpbmcgdGhyb3Vn aCB0aGUgY29ubmVjdGlvbiBzZXF1ZW5jZQorICAgICAgIGRlc2NyaWJlZCBpbiB0aGUgZG9jdW1l bnRhdGlvbiBvZiA8eHJlZiBsaW5rZW5kPSJsaWJwcS1QUWNvbm5lY3RTdGFydFBhcmFtcyIvPi4g SWYKKyAgICAgICA8cGFyYW1ldGVyPmZvclJlYWQ8L3BhcmFtZXRlcj4gaXMgc3BlY2lmaWVkLCB0 aGUgZnVuY3Rpb24gd2FpdHMgZm9yIHRoZSBzb2NrZXQgdG8gYmUgcmVhZHkKKyAgICAgICBmb3Ig cmVhZGluZy4gSWYgPHBhcmFtZXRlcj5mb3JXcml0ZTwvcGFyYW1ldGVyPiBpcyBzcGVjaWZpZWQs IHRoZSBmdW5jdGlvbiB3YWl0cyBmb3IgdGhlCisgICAgICAgc29ja2V0IHRvIGJlIHJlYWR5IGZv ciB3cml0ZS4gU2VlIDxsaXRlcmFsPlBPTExJTjwvbGl0ZXJhbD4gYW5kIDxsaXRlcmFsPlBPTExP VVQ8L2xpdGVyYWw+CisgICAgICAgZnJvbSA8ZnVuY3Rpb24+cG9sbCgyKTwvZnVuY3Rpb24+LCBv ciA8cGFyYW1ldGVyPnJlYWRmZHM8L3BhcmFtZXRlcj4gYW5kCisgICAgICAgPHBhcmFtZXRlcj53 cml0ZWZkczwvcGFyYW1ldGVyPiBmcm9tIDxmdW5jdGlvbj5zZWxlY3QoMik8L2Z1bmN0aW9uPiBm b3IgbW9yZSBpbmZvcm1hdGlvbi4gSWYKKyAgICAgICA8cGFyYW1ldGVyPmVuZF90aW1lPC9wYXJh bWV0ZXI+IGlzIG5vdCA8bGl0ZXJhbD4tMTwvbGl0ZXJhbD4sIGl0IHNwZWNpZmllcyB0aGUgdGlt ZSBhdCB3aGljaAorICAgICAgIHRoaXMgZnVuY3Rpb24gc2hvdWxkIHN0b3Agd2FpdGluZyBmb3Ig dGhlIGNvbmRpdGlvbiB0byBiZSBtZXQuCisgICAgICA8L3BhcmE+CisKKyAgICAgIDxwYXJhPgor ICAgICAgIFRoZSBmdW5jdGlvbiByZXR1cm5zIGEgdmFsdWUgZ3JlYXRlciB0aGFuIDxsaXRlcmFs PjA8L2xpdGVyYWw+IGlmIHRoZSBzcGVjaWZpZWQgY29uZGl0aW9uCisgICAgICAgaXMgbWV0LCA8 bGl0ZXJhbD4wPC9saXRlcmFsPiBpZiBhIHRpbWVvdXQgb2NjdXJyZWQsIG9yIDxsaXRlcmFsPi0x PC9saXRlcmFsPiBpZiBhbiBlcnJvcgorICAgICAgIG9jY3VycmVkLiBUaGUgZXJyb3IgY2FuIGJl IHJldHJpZXZlZCBieSBjaGVja2luZyB0aGUgPGxpdGVyYWw+ZXJybm8oMyk8L2xpdGVyYWw+IHZh bHVlLiBJbgorICAgICAgIHRoZSBldmVudCA8bGl0ZXJhbD5mb3JSZWFkPC9saXRlcmFsPiBhbmQg PGxpdGVyYWw+Zm9yV3JpdGU8L2xpdGVyYWw+IGFyZSBub3Qgc2V0LCB0aGUKKyAgICAgICBmdW5j dGlvbiBpbW1lZGlhdGVseSByZXR1cm5zIGEgdGltZW91dCBjb25kaXRpb24uCisgICAgICA8L3Bh cmE+CisgICAgIDwvbGlzdGl0ZW0+CisgICAgPC92YXJsaXN0ZW50cnk+CisKICAgICA8dmFybGlz dGVudHJ5IGlkPSJsaWJwcS1QUWNvbm5lY3RTdGFydFBhcmFtcyI+CiAgICAgIDx0ZXJtPjxmdW5j dGlvbj5QUWNvbm5lY3RTdGFydFBhcmFtczwvZnVuY3Rpb24+PGluZGV4dGVybT48cHJpbWFyeT5Q UWNvbm5lY3RTdGFydFBhcmFtczwvcHJpbWFyeT48L2luZGV4dGVybT48L3Rlcm0+CiAgICAgIDx0 ZXJtPjxmdW5jdGlvbj5QUWNvbm5lY3RTdGFydDwvZnVuY3Rpb24+PGluZGV4dGVybT48cHJpbWFy eT5QUWNvbm5lY3RTdGFydDwvcHJpbWFyeT48L2luZGV4dGVybT48L3Rlcm0+CkBAIC0zNTgsNyAr MzkzLDEwIEBAIFBvc3RncmVzUG9sbGluZ1N0YXR1c1R5cGUgUFFjb25uZWN0UG9sbChQR2Nvbm4g KmNvbm4pOwogICAgICAgIExvb3AgdGh1czogSWYgPGZ1bmN0aW9uPlBRY29ubmVjdFBvbGwoY29u bik8L2Z1bmN0aW9uPiBsYXN0IHJldHVybmVkCiAgICAgICAgPHN5bWJvbD5QR1JFU19QT0xMSU5H X1JFQURJTkc8L3N5bWJvbD4sIHdhaXQgdW50aWwgdGhlIHNvY2tldCBpcyByZWFkeSB0bwogICAg ICAgIHJlYWQgKGFzIGluZGljYXRlZCBieSA8ZnVuY3Rpb24+c2VsZWN0KCk8L2Z1bmN0aW9uPiwg PGZ1bmN0aW9uPnBvbGwoKTwvZnVuY3Rpb24+LCBvcgotICAgICAgIHNpbWlsYXIgc3lzdGVtIGZ1 bmN0aW9uKS4KKyAgICAgICBzaW1pbGFyIHN5c3RlbSBmdW5jdGlvbikuICBOb3RlIHRoYXQgPGZ1 bmN0aW9uPlBRc29ja2V0UG9sbDwvZnVuY3Rpb24+CisgICAgICAgY2FuIGhlbHAgcmVkdWNlIGJv aWxlcnBsYXRlIGJ5IGFic3RyYWN0aW5nIHRoZSBzZXR1cCBvZgorICAgICAgIDxmdW5jdGlvbj5z ZWxlY3QoMik8L2Z1bmN0aW9uPiBvciA8ZnVuY3Rpb24+cG9sbCgyKTwvZnVuY3Rpb24+IGlmIGl0 IGlzCisgICAgICAgYXZhaWxhYmxlIG9uIHlvdXIgc3lzdGVtLgogICAgICAgIFRoZW4gY2FsbCA8 ZnVuY3Rpb24+UFFjb25uZWN0UG9sbChjb25uKTwvZnVuY3Rpb24+IGFnYWluLgogICAgICAgIENv bnZlcnNlbHksIGlmIDxmdW5jdGlvbj5QUWNvbm5lY3RQb2xsKGNvbm4pPC9mdW5jdGlvbj4gbGFz dCByZXR1cm5lZAogICAgICAgIDxzeW1ib2w+UEdSRVNfUE9MTElOR19XUklUSU5HPC9zeW1ib2w+ LCB3YWl0IHVudGlsIHRoZSBzb2NrZXQgaXMgcmVhZHkKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZh Y2VzL2xpYnBxL2V4cG9ydHMudHh0IGIvc3JjL2ludGVyZmFjZXMvbGlicHEvZXhwb3J0cy50eHQK aW5kZXggOWZiZDNkMzQwNzQuLjFlNDhkMzc2NzdkIDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNl cy9saWJwcS9leHBvcnRzLnR4dAorKysgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9leHBvcnRzLnR4 dApAQCAtMjAyLDMgKzIwMiw0IEBAIFBRY2FuY2VsU29ja2V0ICAgICAgICAgICAgMTk5CiBQUWNh bmNlbEVycm9yTWVzc2FnZSAgICAgIDIwMAogUFFjYW5jZWxSZXNldCAgICAgICAgICAgICAyMDEK IFBRY2FuY2VsRmluaXNoICAgICAgICAgICAgMjAyCitQUXNvY2tldFBvbGwgICAgICAgICAgICAg IDIwMwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtbWlzYy5jIGIvc3JjL2lu dGVyZmFjZXMvbGlicHEvZmUtbWlzYy5jCmluZGV4IGYyZmM3OGE0ODFjLi5mNTYyY2Q4ZDM0NCAx MDA2NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEvZmUtbWlzYy5jCisrKyBiL3NyYy9pbnRl cmZhY2VzL2xpYnBxL2ZlLW1pc2MuYwpAQCAtNTUsNyArNTUsNiBAQCBzdGF0aWMgaW50CXBxUHV0 TXNnQnl0ZXMoY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbGVuLCBQR2Nvbm4gKmNvbm4pOwogc3Rh dGljIGludAlwcVNlbmRTb21lKFBHY29ubiAqY29ubiwgaW50IGxlbik7CiBzdGF0aWMgaW50CXBx U29ja2V0Q2hlY2soUEdjb25uICpjb25uLCBpbnQgZm9yUmVhZCwgaW50IGZvcldyaXRlLAogCQkJ CQkJICB0aW1lX3QgZW5kX3RpbWUpOwotc3RhdGljIGludAlwcVNvY2tldFBvbGwoaW50IHNvY2ss IGludCBmb3JSZWFkLCBpbnQgZm9yV3JpdGUsIHRpbWVfdCBlbmRfdGltZSk7CiAKIC8qCiAgKiBQ UWxpYlZlcnNpb246IHJldHVybiB0aGUgbGlicHEgdmVyc2lvbiBudW1iZXIKQEAgLTEwNTksNyAr MTA1OCw3IEBAIHBxU29ja2V0Q2hlY2soUEdjb25uICpjb25uLCBpbnQgZm9yUmVhZCwgaW50IGZv cldyaXRlLCB0aW1lX3QgZW5kX3RpbWUpCiAKIAkvKiBXZSB3aWxsIHJldHJ5IGFzIGxvbmcgYXMg d2UgZ2V0IEVJTlRSICovCiAJZG8KLQkJcmVzdWx0ID0gcHFTb2NrZXRQb2xsKGNvbm4tPnNvY2ss IGZvclJlYWQsIGZvcldyaXRlLCBlbmRfdGltZSk7CisJCXJlc3VsdCA9IFBRc29ja2V0UG9sbChj b25uLT5zb2NrLCBmb3JSZWFkLCBmb3JXcml0ZSwgZW5kX3RpbWUpOwogCXdoaWxlIChyZXN1bHQg PCAwICYmIFNPQ0tfRVJSTk8gPT0gRUlOVFIpOwogCiAJaWYgKHJlc3VsdCA8IDApCkBAIC0xMDgz LDggKzEwODIsOCBAQCBwcVNvY2tldENoZWNrKFBHY29ubiAqY29ubiwgaW50IGZvclJlYWQsIGlu dCBmb3JXcml0ZSwgdGltZV90IGVuZF90aW1lKQogICogVGltZW91dCBpcyBpbmZpbml0ZSBpZiBl bmRfdGltZSBpcyAtMS4gIFRpbWVvdXQgaXMgaW1tZWRpYXRlIChubyBibG9ja2luZykKICAqIGlm IGVuZF90aW1lIGlzIDAgKG9yIGluZGVlZCwgYW55IHRpbWUgYmVmb3JlIG5vdykuCiAgKi8KLXN0 YXRpYyBpbnQKLXBxU29ja2V0UG9sbChpbnQgc29jaywgaW50IGZvclJlYWQsIGludCBmb3JXcml0 ZSwgdGltZV90IGVuZF90aW1lKQoraW50CitQUXNvY2tldFBvbGwoaW50IHNvY2ssIGludCBmb3JS ZWFkLCBpbnQgZm9yV3JpdGUsIHRpbWVfdCBlbmRfdGltZSkKIHsKIAkvKiBXZSB1c2UgcG9sbCgy KSBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSBzZWxlY3QoMikgKi8KICNpZmRlZiBIQVZFX1BPTEwK ZGlmZiAtLWdpdCBhL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2xpYnBxLWZlLmggYi9zcmMvaW50ZXJm YWNlcy9saWJwcS9saWJwcS1mZS5oCmluZGV4IDA5YjQ4NWJkMmJjLi44ZDNjNWM2ZjY2MiAxMDA2 NDQKLS0tIGEvc3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEtZmUuaAorKysgYi9zcmMvaW50ZXJm YWNlcy9saWJwcS9saWJwcS1mZS5oCkBAIC0yMSw2ICsyMSw3IEBAIGV4dGVybiAiQyIKICNlbmRp ZgogCiAjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx0aW1lLmg+CiAKIC8qCiAgKiBwb3N0 Z3Jlc19leHQuaCBkZWZpbmVzIHRoZSBiYWNrZW5kJ3MgZXh0ZXJuYWxseSB2aXNpYmxlIHR5cGVz LApAQCAtNjcwLDYgKzY3MSw5IEBAIGV4dGVybiBpbnQJbG9fZXhwb3J0KFBHY29ubiAqY29ubiwg T2lkIGxvYmpJZCwgY29uc3QgY2hhciAqZmlsZW5hbWUpOwogLyogR2V0IHRoZSB2ZXJzaW9uIG9m IHRoZSBsaWJwcSBsaWJyYXJ5IGluIHVzZSAqLwogZXh0ZXJuIGludAlQUWxpYlZlcnNpb24odm9p ZCk7CiAKKy8qIFBvbGwgYSBzb2NrZXQgZm9yIHJlYWRpbmcgYW5kL29yIHdyaXRpbmcgd2l0aCBh biBvcHRpb25hbCB0aW1lb3V0ICovCitleHRlcm4gaW50CVBRc29ja2V0UG9sbChpbnQgc29jaywg aW50IGZvclJlYWQsIGludCBmb3JXcml0ZSwgdGltZV90IGVuZF90aW1lKTsKKwogLyogRGV0ZXJt aW5lIGxlbmd0aCBvZiBtdWx0aWJ5dGUgZW5jb2RlZCBjaGFyIGF0ICpzICovCiBleHRlcm4gaW50 CVBRbWJsZW4oY29uc3QgY2hhciAqcywgaW50IGVuY29kaW5nKTsKIAotLSAKVHJpc3RhbiBQYXJ0 aW4KTmVvbiAoaHR0cHM6Ly9uZW9uLnRlY2gpCgo= --9b1c777270c942ee008abeed7dc14ac2d6b10ff41145df644d4e4ec5fdb0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v11-0002-Allow-SIGINT-to-cancel-psql-database-reconnectio.patch Content-Type: text/x-patch; charset=utf-8; name=v11-0002-Allow-SIGINT-to-cancel-psql-database-reconnectio.patch RnJvbSA2ZTNiMDhhYTg5ZTdhMDI2OGMzYWRlODNjNzA4YWRmMWUxNjM3ZmZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUcmlzdGFuIFBhcnRpbiA8dHJpc3RhbkBuZW9uLnRlY2g+CkRh dGU6IFR1ZSwgMzAgSmFuIDIwMjQgMTU6NTM6MTAgLTA2MDAKU3ViamVjdDogW1BBVENIIHYxMSAy LzJdIEFsbG93IFNJR0lOVCB0byBjYW5jZWwgcHNxbCBkYXRhYmFzZSByZWNvbm5lY3Rpb25zCgpB ZnRlciBpbnN0YWxsaW5nIHRoZSBTSUdJTlQgaGFuZGxlciBpbiBwc3FsLCBTSUdJTlQgY2FuIG5v IGxvbmdlciBjYW5jZWwKZGF0YWJhc2UgcmVjb25uZWN0aW9ucy4gRm9yIGluc3RhbmNlLCBpZiB0 aGUgdXNlciBzdGFydHMgYSByZWNvbm5lY3Rpb24KYW5kIHRoZW4gbmVlZHMgdG8gZG8gc29tZSBm b3JtIG9mIGludGVyYWN0aW9uIChpZSBwc3FsIGlzIHBvbGxpbmcpLAp0aGVyZSBpcyBubyB3YXkg dG8gY2FuY2VsIHRoZSByZWNvbm5lY3Rpb24gcHJvY2VzcyBjdXJyZW50bHkuCgpVc2UgUFFjb25u ZWN0U3RhcnRQYXJhbXMoKSBpbiBvcmRlciB0byBpbnNlcnQgYSBjYW5jZWxfcHJlc3NlZCBjaGVj awppbnRvIHRoZSBwb2xsaW5nIGxvb3AuCi0tLQogc3JjL2Jpbi9wc3FsL2NvbW1hbmQuYyB8IDcy ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5n ZWQsIDcxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmMvYmlu L3BzcWwvY29tbWFuZC5jIGIvc3JjL2Jpbi9wc3FsL2NvbW1hbmQuYwppbmRleCA5YjBmYTA0MWY3 My4uMWUwMGIwZDQ4NjkgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC9jb21tYW5kLmMKKysrIGIv c3JjL2Jpbi9wc3FsL2NvbW1hbmQuYwpAQCAtMTU5LDYgKzE1OSw3IEBAIHN0YXRpYyB2b2lkIGRp c2NhcmRfcXVlcnlfdGV4dChQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUsIENvbmRpdGlvbmFsU3Rh Y2sgY3N0YWNrCiBzdGF0aWMgYm9vbCBjb3B5X3ByZXZpb3VzX3F1ZXJ5KFBRRXhwQnVmZmVyIHF1 ZXJ5X2J1ZiwgUFFFeHBCdWZmZXIgcHJldmlvdXNfYnVmKTsKIHN0YXRpYyBib29sIGRvX2Nvbm5l Y3QoZW51bSB0cml2YWx1ZSByZXVzZV9wcmV2aW91c19zcGVjaWZpY2F0aW9uLAogCQkJCQkgICBj aGFyICpkYm5hbWUsIGNoYXIgKnVzZXIsIGNoYXIgKmhvc3QsIGNoYXIgKnBvcnQpOworc3RhdGlj IHZvaWQgd2FpdF91bnRpbF9jb25uZWN0ZWQoUEdjb25uICpjb25uKTsKIHN0YXRpYyBib29sIGRv X2VkaXQoY29uc3QgY2hhciAqZmlsZW5hbWVfYXJnLCBQUUV4cEJ1ZmZlciBxdWVyeV9idWYsCiAJ CQkJCWludCBsaW5lbm8sIGJvb2wgZGlzY2FyZF9vbl9xdWl0LCBib29sICplZGl0ZWQpOwogc3Rh dGljIGJvb2wgZG9fc2hlbGwoY29uc3QgY2hhciAqY29tbWFuZCk7CkBAIC0zNTk1LDExICszNTk2 LDEyIEBAIGRvX2Nvbm5lY3QoZW51bSB0cml2YWx1ZSByZXVzZV9wcmV2aW91c19zcGVjaWZpY2F0 aW9uLAogCQl2YWx1ZXNbcGFyYW1udW1dID0gTlVMTDsKIAogCQkvKiBOb3RlIHdlIGRvIG5vdCB3 YW50IGxpYnBxIHRvIHJlLWV4cGFuZCB0aGUgZGJuYW1lIHBhcmFtZXRlciAqLwotCQluX2Nvbm4g PSBQUWNvbm5lY3RkYlBhcmFtcyhrZXl3b3JkcywgdmFsdWVzLCBmYWxzZSk7CisJCW5fY29ubiA9 IFBRY29ubmVjdFN0YXJ0UGFyYW1zKGtleXdvcmRzLCB2YWx1ZXMsIGZhbHNlKTsKIAogCQlwZ19m cmVlKGtleXdvcmRzKTsKIAkJcGdfZnJlZSh2YWx1ZXMpOwogCisJCXdhaXRfdW50aWxfY29ubmVj dGVkKG5fY29ubik7CiAJCWlmIChQUXN0YXR1cyhuX2Nvbm4pID09IENPTk5FQ1RJT05fT0spCiAJ CQlicmVhazsKIApAQCAtMzc0OCw2ICszNzUwLDc0IEBAIGRvX2Nvbm5lY3QoZW51bSB0cml2YWx1 ZSByZXVzZV9wcmV2aW91c19zcGVjaWZpY2F0aW9uLAogCXJldHVybiB0cnVlOwogfQogCisvKgor ICogUHJvY2Vzc2VzIHRoZSBjb25uZWN0aW9uIHNlcXVlbmNlIGRlc2NyaWJlZCBieSBQUWNvbm5l Y3RTdGFydFBhcmFtcygpLiBEb24ndAorICogd29ycnkgYWJvdXQgcmVwb3J0aW5nIGVycm9ycyBp biB0aGlzIGZ1bmN0aW9uLiBPdXIgY2FsbGVyIHdpbGwgY2hlY2sgdGhlCisgKiBjb25uZWN0aW9u J3Mgc3RhdHVzLCBhbmQgcmVwb3J0IGFwcHJvcHJpYXRlbHkuCisgKi8KK3N0YXRpYyB2b2lkCit3 YWl0X3VudGlsX2Nvbm5lY3RlZChQR2Nvbm4gKmNvbm4pCit7CisJYm9vbAkJZm9yUmVhZCA9IGZh bHNlOworCisJd2hpbGUgKHRydWUpCisJeworCQlpbnQJCQlyYzsKKwkJaW50CQkJc29jazsKKwkJ dGltZV90CQllbmRfdGltZTsKKworCQkvKgorCQkgKiBPbiBldmVyeSBpdGVyYXRpb24gb2YgdGhl IGNvbm5lY3Rpb24gc2VxdWVuY2UsIGxldCdzIGNoZWNrIGlmIHRoZQorCQkgKiB1c2VyIGhhcyBy ZXF1ZXN0ZWQgYSBjYW5jZWxsYXRpb24uCisJCSAqLworCQlpZiAoY2FuY2VsX3ByZXNzZWQpCisJ CQlicmVhazsKKworCQkvKgorCQkgKiBEbyBub3QgYXNzdW1lIHRoYXQgdGhlIHNvY2tldCByZW1h aW5zIHRoZSBzYW1lIGFjcm9zcworCQkgKiBQUWNvbm5lY3RQb2xsKCkgY2FsbHMuCisJCSAqLwor CQlzb2NrID0gUFFzb2NrZXQoY29ubik7CisJCWlmIChzb2NrID09IC0xKQorCQkJYnJlYWs7CisK KwkJLyoKKwkJICogSWYgdGhlIHVzZXIgc2VuZHMgU0lHSU5UIGJldHdlZW4gdGhlIGNhbmNlbF9w cmVzc2VkIGNoZWNrLCBhbmQKKwkJICogcG9sbGluZyBvZiB0aGUgc29ja2V0LCBpdCB3aWxsIG5v dCBiZSByZWNvZ25pemVkLiBJbnN0ZWFkLCB3ZSB3aWxsCisJCSAqIGp1c3Qgd2FpdCB1bnRpbCB0 aGUgbmV4dCBzdGVwIGluIHRoZSBjb25uZWN0aW9uIHNlcXVlbmNlIG9yIGZvcmV2ZXIsCisJCSAq IHdoaWNoIG1pZ2h0IHJlcXVpcmUgdXNlcnMgdG8gc2VuZCBTSUdURVJNIG9yIFNJR1FVSVQuCisJ CSAqCisJCSAqIFNvbWUgc29sdXRpb25zIHdvdWxkIGluY2x1ZGUgdGhlICJzZWxmLXBpcGUgdHJp Y2ssIiB1c2luZworCQkgKiBwc2VsZWN0KDIpIGFuZCBwcG9sbCgyKSwgb3IgdXNpbmcgYSB0aW1l b3V0LgorCQkgKgorCQkgKiBUaGUgc2VsZi1waXBlIHRyaWNrIHJlcXVpcmVzIGEgYml0IG9mIGNv ZGUgdG8gc2V0dXAuIHBzZWxlY3QoMikgYW5kCisJCSAqIHBwb2xsKDIpIGFyZSBub3Qgb24gYWxs IHRoZSBwbGF0Zm9ybXMgd2Ugc3VwcG9ydC4gVGhlIHNpbXBsZXN0CisJCSAqIHNvbHV0aW9uIGhh cHBlbnMgdG8ganVzdCBiZSBhZGRpbmcgYSB0aW1lb3V0LCBzbyBsZXQncyB3YWl0IGZvciAxCisJ CSAqIHNlY29uZCBhbmQgY2hlY2sgY2FuY2VsX3ByZXNzZWQgYWdhaW4uCisJCSAqLworCQllbmRf dGltZSA9IHRpbWUoTlVMTCkgKyAxOworCQlyYyA9IFBRc29ja2V0UG9sbChzb2NrLCBmb3JSZWFk LCAhZm9yUmVhZCwgZW5kX3RpbWUpOworCQlpZiAocmMgPT0gLTEpCisJCQlyZXR1cm47CisKKwkJ c3dpdGNoIChQUWNvbm5lY3RQb2xsKGNvbm4pKQorCQl7CisJCQljYXNlIFBHUkVTX1BPTExJTkdf T0s6CisJCQljYXNlIFBHUkVTX1BPTExJTkdfRkFJTEVEOgorCQkJCXJldHVybjsKKwkJCWNhc2Ug UEdSRVNfUE9MTElOR19SRUFESU5HOgorCQkJCWZvclJlYWQgPSB0cnVlOworCQkJCWNvbnRpbnVl OworCQkJY2FzZSBQR1JFU19QT0xMSU5HX1dSSVRJTkc6CisJCQkJZm9yUmVhZCA9IGZhbHNlOwor CQkJCWNvbnRpbnVlOworCQkJY2FzZSBQR1JFU19QT0xMSU5HX0FDVElWRToKKwkJCQlwZ191bnJl YWNoYWJsZSgpOworCQl9CisJfQorCisJcGdfdW5yZWFjaGFibGUoKTsKK30KIAogdm9pZAogY29u bmVjdGlvbl93YXJuaW5ncyhib29sIGluX3N0YXJ0dXApCi0tIApUcmlzdGFuIFBhcnRpbgpOZW9u IChodHRwczovL25lb24udGVjaCkKCg== --9b1c777270c942ee008abeed7dc14ac2d6b10ff41145df644d4e4ec5fdb0--