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 1rniKg-00Eg13-FO for pgsql-hackers@arkaria.postgresql.org; Fri, 22 Mar 2024 17:05:31 +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 1rniKf-005cbd-0B for pgsql-hackers@arkaria.postgresql.org; Fri, 22 Mar 2024 17:05:29 +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 1rniKe-005cbU-DY for pgsql-hackers@lists.postgresql.org; Fri, 22 Mar 2024 17:05:29 +0000 Received: from mail-oi1-x22c.google.com ([2607:f8b0:4864:20::22c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rniKZ-005sxj-Q9 for pgsql-hackers@postgresql.org; Fri, 22 Mar 2024 17:05:27 +0000 Received: by mail-oi1-x22c.google.com with SMTP id 5614622812f47-3bd4e6a7cb0so1191497b6e.3 for ; Fri, 22 Mar 2024 10:05:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=neon.tech; s=google; t=1711127124; x=1711731924; darn=postgresql.org; h=in-reply-to:references:cc:from:to:subject:message-id:date :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=AZVO6xrEFfMCpbafukyaAcaaIAUU6HAiFPIqsDu53Ws=; b=WECQS5MVZJC40JTQcgr64IvrB39wnRqOzU6pnWZAWtXngDq3JgkueXBNrfLLDopj2z rMyW/F+BsZv6FFcBxpu1yty/PFfmPjJ6wakowX4m0w5HP6c0Tro/4fbZPmMbEG/p9oop wV0URKnbLN6c88GwOJqA3Gc9Zcg3USOR+NrJg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711127124; x=1711731924; h=in-reply-to:references:cc:from:to:subject:message-id:date :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=AZVO6xrEFfMCpbafukyaAcaaIAUU6HAiFPIqsDu53Ws=; b=e3zQjLDH3bZuezGhpv762hgiAECn95Fb3ltrSdTbzA6S//PhPThG9XZ+QWuIS37geu DBggxeUnO1FOKRgUjW8kLdQHcAKa4l3jNP9wmaIyztf1RLkJlyY4OHbg7bSBf+cE5fHG anfrEB/nEK7cKDDjOkJ7dO61/s4GGcIkqr71plia+6+Yj4fY4HjgHiNYhGf9hYkUo7rw 4OE5G89nALuOHHwX45P5dU1eDUfTCNkdLs8fL59T5xsLveCUDPjduZPK0Wjs1Zk3Qlib uEAw5nMZB8PSx2jbjlv8jhXEiKCLDGHPs/hKj1YAS1QJ1a6Jq5TQ/NCDE7HCNJH4OD4Y zxkw== X-Forwarded-Encrypted: i=1; AJvYcCU1D7Vg7LBVTWMvLGPwtyAXKeh0iq4PB/K5oCA5WcIfp/7+OaDNxn9gkXTfd6gKPgindqrMTh8PcN1B/dNUf7LdDwUgzX3dr16Tj8kK X-Gm-Message-State: AOJu0YzHvWYN4w65vjEuIvsS3mtsl0ARpZHmZt5kNXjT2dbpNvmCJBX7 BMA6BKD1XH6Jdrw4xnx1GVjMu+m7WgqFKWaeDj9/IepIycAymUUovoTkti0AL3w= X-Google-Smtp-Source: AGHT+IEcIxYukuhvY7/UCJ6HaYZC8S0Gj0ybx98Dcp+6J1RLsXF6JCugip5EtAvKhHdA0Ubf9Vls8w== X-Received: by 2002:a05:6808:1993:b0:3c3:a000:50e3 with SMTP id bj19-20020a056808199300b003c3a00050e3mr369246oib.37.1711127122781; Fri, 22 Mar 2024 10:05:22 -0700 (PDT) Received: from localhost ([2607:fb91:1281:8489:3996:e070:71ee:42fb]) by smtp.gmail.com with ESMTPSA id k1-20020a056808068100b003c38afefbdbsm542oig.7.2024.03.22.10.05.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Mar 2024 10:05:22 -0700 (PDT) Content-Type: multipart/mixed; boundary=0898631b4337924eb3a206db88a75ead41799644e75a7c89c192e772061e Mime-Version: 1.0 Date: Fri, 22 Mar 2024 12:05:20 -0500 Message-Id: Subject: Re: psql not responding to SIGINT upon db reconnection To: "Robert Haas" , "Jelte Fennema-Nio" From: "Tristan Partin" Cc: "Heikki Linnakangas" , "Tom Lane" , , "Shlok Kyal" X-Mailer: aerc 0.17.0-78-g4ffbaa6b3946 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 --0898631b4337924eb3a206db88a75ead41799644e75a7c89c192e772061e Content-Type: multipart/alternative; boundary=80544acd552d17cc878bc12bf927b254c02c8099ac9ace0216078b1ff8a8 --80544acd552d17cc878bc12bf927b254c02c8099ac9ace0216078b1ff8a8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Type: text/plain; charset=UTF-8; format=Flowed On Fri Mar 22, 2024 at 9:59 AM CDT, Robert Haas wrote: > On Wed, Jan 31, 2024 at 1:07=E2=80=AFPM Tristan Partin wrote: > > I was looking for documentation of PQsocket(), but didn't find any > > standalone (unless I completely missed it). So I just copied how > > PQsocket() is documented in PQconnectPoll(). I am happy to document it > > separately if you think it would be useful. > > As Jelte said back at the end of January, I think you just completely > missed it. The relevant part of libpq.sgml starts like this: > > > PQsocketPQsocket > > As far as I know, we document all of the exported libpq functions in > that SGML file. > > I think there's no real reason why we couldn't get at least 0001 and > maybe also 0002 into this release, but only if you move quickly on > this. Feature freeze is approaching rapidly. > > Modulo the documentation changes, I think 0001 is pretty much ready to > go. 0002 needs comments. I'm also not so sure about the name > process_connection_state_machine(); it seems a little verbose. How > about something like wait_until_connected()? And maybe put it below > do_connect() instead of above. Robert, Jelte: Sorry for taking a while to get back to y'all. I have taken your=20 feedback into consideration for v9. This is my first time writing=20 Postgres docs, so I'm ready for another round of editing :). Robert, could you point out some places where comments would be useful=20 in 0002? I did rename the function and moved it as suggested, thanks! In=20 turn, I also realized I forgot a prototype, so also added it. This patchset has also been rebased on master, so the libpq export=20 number for PQsocketPoll was bumped. --=20 Tristan Partin Neon (https://neon.tech) --80544acd552d17cc878bc12bf927b254c02c8099ac9ace0216078b1ff8a8-- --0898631b4337924eb3a206db88a75ead41799644e75a7c89c192e772061e Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v9-0001-Expose-PQsocketPoll-for-frontends.patch Content-Type: text/x-patch; charset=utf-8; name=v9-0001-Expose-PQsocketPoll-for-frontends.patch RnJvbSA3ZjhiZjcyNTBlY2Y3OWY2NWMxMjljY2M0MjY0M2MzNmJjNTNmODgyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUcmlzdGFuIFBhcnRpbiA8dHJpc3RhbkBuZW9uLnRlY2g+CkRh dGU6IFR1ZSwgMzAgSmFuIDIwMjQgMTU6NDA6NTcgLTA2MDAKU3ViamVjdDogW1BBVENIIHY5IDEv Ml0gRXhwb3NlIFBRc29ja2V0UG9sbCBmb3IgZnJvbnRlbmRzCgpQUXNvY2tldFBvbGwgc2hvdWxk IGhlbHAgd2l0aCBzdGF0ZSBtYWNoaW5lIHByb2Nlc3Npbmcgd2hlbiBjb25uZWN0aW5nCnRvIGEg ZGF0YWJhc2UgYXN5bmNocm9ub3VzbHkgdmlhIFBRY29ubmVjdFN0YXJ0KCkuCi0tLQogZG9jL3Ny Yy9zZ21sL2xpYnBxLnNnbWwgICAgICAgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLQogc3JjL2ludGVyZmFjZXMvbGlicHEvZXhwb3J0cy50eHQgfCAgMSArCiBzcmMvaW50 ZXJmYWNlcy9saWJwcS9mZS1taXNjLmMgICB8ICA3ICsrKy0tLQogc3JjL2ludGVyZmFjZXMvbGli cHEvbGlicHEtZmUuaCAgfCAgNCArKysrCiA0IGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMo KyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2xpYnBxLnNnbWwg Yi9kb2Mvc3JjL3NnbWwvbGlicHEuc2dtbAppbmRleCBkM2U4NzA1NmYyYy4uMTBmMTkxZjZiODgg MTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9saWJwcS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9s aWJwcS5zZ21sCkBAIC0yNjIsNiArMjYyLDM5IEBAIFBHY29ubiAqUFFzZXRkYihjaGFyICpwZ2hv c3QsCiAgICAgIDwvbGlzdGl0ZW0+CiAgICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgICA8dmFybGlz dGVudHJ5IGlkPSJsaWJwcS1QUXNvY2tldFBvbGwiPgorICAgICA8dGVybT48ZnVuY3Rpb24+UFFz b2NrZXRQb2xsPC9mdW5jdGlvbj48aW5kZXh0ZXJtPjxwcmltYXJ5PlBRc29ja2V0UG9sbDwvcHJp bWFyeT48L2luZGV4dGVybT48L3Rlcm0+CisgICAgIDxsaXN0aXRlbT4KKyAgICAgIDxwYXJhPgor ICAgICAgIDxpbmRleHRlcm0+PHByaW1hcnk+bm9uYmxvY2tpbmcgY29ubmVjdGlvbjwvcHJpbWFy eT48L2luZGV4dGVybT4KKyAgICAgICBQb2xsIGEgY29ubmVjdGlvbiZhcG9zO3MgdW5kZXJseWlu ZyBzb2NrZXQgZGVzY3JpcHRvciByZXRyaWV2ZWQgd2l0aCA8eHJlZiBsaW5rZW5kPSJsaWJwcS1Q UXNvY2tldCIvPi4KKzxzeW5vcHNpcz4KK2ludCBQUXNvY2tldFBvbGwoaW50IHNvY2ssIGludCBm b3JSZWFkLCBpbnQgZm9yV3JpdGUsIHRpbWVfdCBlbmRfdGltZSk7Cis8L3N5bm9wc2lzPgorICAg ICAgPC9wYXJhPgorCisgICAgICA8cGFyYT4KKyAgICAgICBUaGlzIGZ1bmN0aW9uIHRha2VzIGNh cmUgb2YgdGhlIHNldHVwIGZvciBtb25pdG9yaW5nIGEgZmlsZSBkZXNjcmlwdG9yLiBUaGUgdW5k ZXJseWluZworICAgICAgIGZ1bmN0aW9uIGlzIGVpdGhlciA8ZnVuY3Rpb24+cG9sbCgyKTwvZnVu Y3Rpb24+IG9yIDxmdW5jdGlvbj5zZWxlY3QoMik8L2Z1bmN0aW9uPiwKKyAgICAgICBkZXBlbmRp bmcgb24gcGxhdGZvcm0gc3VwcG9ydC4gVGhlIHByaW1hcnkgdXNlIG9mIHRoaXMgZnVuY3Rpb24g aXMgd29ya2luZyB0aHJvdWdoIHRoZSBzdGF0ZQorICAgICAgIG1hY2hpbmUgaW5zdGFudGlhdGVk IGJ5IDx4cmVmIGxpbmtlbmQ9ImxpYnBxLVBRY29ubmVjdFN0YXJ0UGFyYW1zIi8+LgorICAgICAg PC9wYXJhPgorCisgICAgICA8cGFyYT4KKyAgICAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBhIHZh bHVlIGdyZWF0ZXIgdGhhbiA8bGl0ZXJhbD4wPC9saXRlcmFsPiBpZiB0aGUgc3BlY2lmaWVkIGNv bmRpdGlvbgorICAgICAgIGlzIG1ldCwgPGxpdGVyYWw+MDwvbGl0ZXJhbD4gaWYgYSB0aW1lb3V0 IG9jY3VycmVkLCBvciA8bGl0ZXJhbD4tMTwvbGl0ZXJhbD4gaWYgYW4gZXJyb3IKKyAgICAgICBv ciBpbnRlcnJ1cHQgb2NjdXJyZWQuIEluIHRoZSBldmVudCA8bGl0ZXJhbD5mb3JSZWFkPC9saXRl cmFsPiBhbmQKKyAgICAgICA8bGl0ZXJhbD5mb3JXcml0ZTwvbGl0ZXJhbD4gYXJlIG5vdCBzZXQs IHRoZSBmdW5jdGlvbiBpbW1lZGlhdGVseSByZXR1bnMgYSB0aW1lb3V0CisgICAgICAgY29uZGl0 aW9uLgorICAgICAgPC9wYXJhPgorCisgICAgICA8cGFyYT4KKyAgICAgICA8bGl0ZXJhbD5lbmRf dGltZTwvbGl0ZXJhbD4gaXMgdGhlIHRpbWUgaW4gdGhlIGZ1dHVyZSBpbiBzZWNvbmRzIHN0YXJ0 aW5nIGZyb20gdGhlIFVOSVgKKyAgICAgICBlcG9jaCBpbiB3aGljaCB5b3Ugd291bGQgbGlrZSB0 aGUgZnVuY3Rpb24gdG8gcmV0dXJuIGlmIHRoZSBjb25kaXRpb24gaXMgbm90IG1ldC4KKyAgICAg IDwvcGFyYT4KKyAgICAgPC9saXN0aXRlbT4KKyAgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgIDx2 YXJsaXN0ZW50cnkgaWQ9ImxpYnBxLVBRY29ubmVjdFN0YXJ0UGFyYW1zIj4KICAgICAgPHRlcm0+ PGZ1bmN0aW9uPlBRY29ubmVjdFN0YXJ0UGFyYW1zPC9mdW5jdGlvbj48aW5kZXh0ZXJtPjxwcmlt YXJ5PlBRY29ubmVjdFN0YXJ0UGFyYW1zPC9wcmltYXJ5PjwvaW5kZXh0ZXJtPjwvdGVybT4KICAg ICAgPHRlcm0+PGZ1bmN0aW9uPlBRY29ubmVjdFN0YXJ0PC9mdW5jdGlvbj48aW5kZXh0ZXJtPjxw cmltYXJ5PlBRY29ubmVjdFN0YXJ0PC9wcmltYXJ5PjwvaW5kZXh0ZXJtPjwvdGVybT4KQEAgLTM1 OCw3ICszOTEsMTAgQEAgUG9zdGdyZXNQb2xsaW5nU3RhdHVzVHlwZSBQUWNvbm5lY3RQb2xsKFBH Y29ubiAqY29ubik7CiAgICAgICAgTG9vcCB0aHVzOiBJZiA8ZnVuY3Rpb24+UFFjb25uZWN0UG9s bChjb25uKTwvZnVuY3Rpb24+IGxhc3QgcmV0dXJuZWQKICAgICAgICA8c3ltYm9sPlBHUkVTX1BP TExJTkdfUkVBRElORzwvc3ltYm9sPiwgd2FpdCB1bnRpbCB0aGUgc29ja2V0IGlzIHJlYWR5IHRv CiAgICAgICAgcmVhZCAoYXMgaW5kaWNhdGVkIGJ5IDxmdW5jdGlvbj5zZWxlY3QoKTwvZnVuY3Rp b24+LCA8ZnVuY3Rpb24+cG9sbCgpPC9mdW5jdGlvbj4sIG9yCi0gICAgICAgc2ltaWxhciBzeXN0 ZW0gZnVuY3Rpb24pLgorICAgICAgIHNpbWlsYXIgc3lzdGVtIGZ1bmN0aW9uKS4gIE5vdGUgdGhh dCA8ZnVuY3Rpb24+UFFzb2NrZXRQb2xsPC9mdW5jdGlvbj4KKyAgICAgICBjYW4gaGVscCByZWR1 Y2UgYm9pbGVycGxhdGUgYnkgYWJzdHJhY3RpbmcgdGhlIHNldHVwIG9mCisgICAgICAgPGZ1bmN0 aW9uPnNlbGVjdCgyKTwvZnVuY3Rpb24+IG9yIDxmdW5jdGlvbj5wb2xsKDIpPC9mdW5jdGlvbj4g aWYgaXQgaXMKKyAgICAgICBhdmFpbGFibGUgb24geW91ciBzeXN0ZW0uCiAgICAgICAgVGhlbiBj YWxsIDxmdW5jdGlvbj5QUWNvbm5lY3RQb2xsKGNvbm4pPC9mdW5jdGlvbj4gYWdhaW4uCiAgICAg ICAgQ29udmVyc2VseSwgaWYgPGZ1bmN0aW9uPlBRY29ubmVjdFBvbGwoY29ubik8L2Z1bmN0aW9u PiBsYXN0IHJldHVybmVkCiAgICAgICAgPHN5bWJvbD5QR1JFU19QT0xMSU5HX1dSSVRJTkc8L3N5 bWJvbD4sIHdhaXQgdW50aWwgdGhlIHNvY2tldCBpcyByZWFkeQpkaWZmIC0tZ2l0IGEvc3JjL2lu dGVyZmFjZXMvbGlicHEvZXhwb3J0cy50eHQgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9leHBvcnRz LnR4dAppbmRleCA5ZmJkM2QzNDA3NC4uMWU0OGQzNzY3N2QgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRl cmZhY2VzL2xpYnBxL2V4cG9ydHMudHh0CisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2V4cG9y dHMudHh0CkBAIC0yMDIsMyArMjAyLDQgQEAgUFFjYW5jZWxTb2NrZXQgICAgICAgICAgICAxOTkK IFBRY2FuY2VsRXJyb3JNZXNzYWdlICAgICAgMjAwCiBQUWNhbmNlbFJlc2V0ICAgICAgICAgICAg IDIwMQogUFFjYW5jZWxGaW5pc2ggICAgICAgICAgICAyMDIKK1BRc29ja2V0UG9sbCAgICAgICAg ICAgICAgMjAzCmRpZmYgLS1naXQgYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1taXNjLmMgYi9z cmMvaW50ZXJmYWNlcy9saWJwcS9mZS1taXNjLmMKaW5kZXggZjJmYzc4YTQ4MWMuLmY1NjJjZDhk MzQ0IDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1taXNjLmMKKysrIGIvc3Jj L2ludGVyZmFjZXMvbGlicHEvZmUtbWlzYy5jCkBAIC01NSw3ICs1NSw2IEBAIHN0YXRpYyBpbnQJ cHFQdXRNc2dCeXRlcyhjb25zdCB2b2lkICpidWYsIHNpemVfdCBsZW4sIFBHY29ubiAqY29ubik7 CiBzdGF0aWMgaW50CXBxU2VuZFNvbWUoUEdjb25uICpjb25uLCBpbnQgbGVuKTsKIHN0YXRpYyBp bnQJcHFTb2NrZXRDaGVjayhQR2Nvbm4gKmNvbm4sIGludCBmb3JSZWFkLCBpbnQgZm9yV3JpdGUs CiAJCQkJCQkgIHRpbWVfdCBlbmRfdGltZSk7Ci1zdGF0aWMgaW50CXBxU29ja2V0UG9sbChpbnQg c29jaywgaW50IGZvclJlYWQsIGludCBmb3JXcml0ZSwgdGltZV90IGVuZF90aW1lKTsKIAogLyoK ICAqIFBRbGliVmVyc2lvbjogcmV0dXJuIHRoZSBsaWJwcSB2ZXJzaW9uIG51bWJlcgpAQCAtMTA1 OSw3ICsxMDU4LDcgQEAgcHFTb2NrZXRDaGVjayhQR2Nvbm4gKmNvbm4sIGludCBmb3JSZWFkLCBp bnQgZm9yV3JpdGUsIHRpbWVfdCBlbmRfdGltZSkKIAogCS8qIFdlIHdpbGwgcmV0cnkgYXMgbG9u ZyBhcyB3ZSBnZXQgRUlOVFIgKi8KIAlkbwotCQlyZXN1bHQgPSBwcVNvY2tldFBvbGwoY29ubi0+ c29jaywgZm9yUmVhZCwgZm9yV3JpdGUsIGVuZF90aW1lKTsKKwkJcmVzdWx0ID0gUFFzb2NrZXRQ b2xsKGNvbm4tPnNvY2ssIGZvclJlYWQsIGZvcldyaXRlLCBlbmRfdGltZSk7CiAJd2hpbGUgKHJl c3VsdCA8IDAgJiYgU09DS19FUlJOTyA9PSBFSU5UUik7CiAKIAlpZiAocmVzdWx0IDwgMCkKQEAg LTEwODMsOCArMTA4Miw4IEBAIHBxU29ja2V0Q2hlY2soUEdjb25uICpjb25uLCBpbnQgZm9yUmVh ZCwgaW50IGZvcldyaXRlLCB0aW1lX3QgZW5kX3RpbWUpCiAgKiBUaW1lb3V0IGlzIGluZmluaXRl IGlmIGVuZF90aW1lIGlzIC0xLiAgVGltZW91dCBpcyBpbW1lZGlhdGUgKG5vIGJsb2NraW5nKQog ICogaWYgZW5kX3RpbWUgaXMgMCAob3IgaW5kZWVkLCBhbnkgdGltZSBiZWZvcmUgbm93KS4KICAq Lwotc3RhdGljIGludAotcHFTb2NrZXRQb2xsKGludCBzb2NrLCBpbnQgZm9yUmVhZCwgaW50IGZv cldyaXRlLCB0aW1lX3QgZW5kX3RpbWUpCitpbnQKK1BRc29ja2V0UG9sbChpbnQgc29jaywgaW50 IGZvclJlYWQsIGludCBmb3JXcml0ZSwgdGltZV90IGVuZF90aW1lKQogewogCS8qIFdlIHVzZSBw b2xsKDIpIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIHNlbGVjdCgyKSAqLwogI2lmZGVmIEhBVkVf UE9MTApkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMvbGlicHEvbGlicHEtZmUuaCBiL3NyYy9p bnRlcmZhY2VzL2xpYnBxL2xpYnBxLWZlLmgKaW5kZXggMDliNDg1YmQyYmMuLjk4YzI3NDE1Mjgx IDEwMDY0NAotLS0gYS9zcmMvaW50ZXJmYWNlcy9saWJwcS9saWJwcS1mZS5oCisrKyBiL3NyYy9p bnRlcmZhY2VzL2xpYnBxL2xpYnBxLWZlLmgKQEAgLTIxLDYgKzIxLDcgQEAgZXh0ZXJuICJDIgog I2VuZGlmCiAKICNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHRpbWUuaD4KIAogLyoKICAq IHBvc3RncmVzX2V4dC5oIGRlZmluZXMgdGhlIGJhY2tlbmQncyBleHRlcm5hbGx5IHZpc2libGUg dHlwZXMsCkBAIC02NzAsNiArNjcxLDkgQEAgZXh0ZXJuIGludAlsb19leHBvcnQoUEdjb25uICpj b25uLCBPaWQgbG9iaklkLCBjb25zdCBjaGFyICpmaWxlbmFtZSk7CiAvKiBHZXQgdGhlIHZlcnNp b24gb2YgdGhlIGxpYnBxIGxpYnJhcnkgaW4gdXNlICovCiBleHRlcm4gaW50CVBRbGliVmVyc2lv bih2b2lkKTsKIAorLyogUG9sbCBhIGZpbGUgZGVzY3JpcHRvciBmb3IgcmVhZGluZyBhbmQvb3Ig d3JpdGluZyB3aXRoIGEgdGltZW91dCAqLworZXh0ZXJuIGludAlQUXNvY2tldFBvbGwoaW50IHNv Y2ssIGludCBmb3JSZWFkLCBpbnQgZm9yV3JpdGUsIHRpbWVfdCBlbmRfdGltZSk7CisKIC8qIERl dGVybWluZSBsZW5ndGggb2YgbXVsdGlieXRlIGVuY29kZWQgY2hhciBhdCAqcyAqLwogZXh0ZXJu IGludAlQUW1ibGVuKGNvbnN0IGNoYXIgKnMsIGludCBlbmNvZGluZyk7CiAKLS0gClRyaXN0YW4g UGFydGluCk5lb24gKGh0dHBzOi8vbmVvbi50ZWNoKQoK --0898631b4337924eb3a206db88a75ead41799644e75a7c89c192e772061e Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v9-0002-Allow-SIGINT-to-cancel-psql-database-reconnection.patch Content-Type: text/x-patch; charset=utf-8; name=v9-0002-Allow-SIGINT-to-cancel-psql-database-reconnection.patch RnJvbSA3NzllNjQyZGY4MDEzYjNmYzhjNjNmOWZhZjM3MGNiYmYyOTUwMzkyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUcmlzdGFuIFBhcnRpbiA8dHJpc3RhbkBuZW9uLnRlY2g+CkRh dGU6IFR1ZSwgMzAgSmFuIDIwMjQgMTU6NTM6MTAgLTA2MDAKU3ViamVjdDogW1BBVENIIHY5IDIv Ml0gQWxsb3cgU0lHSU5UIHRvIGNhbmNlbCBwc3FsIGRhdGFiYXNlIHJlY29ubmVjdGlvbnMKCkFm dGVyIGluc3RhbGxpbmcgdGhlIFNJR0lOVCBoYW5kbGVyIGluIHBzcWwsIFNJR0lOVCBjYW4gbm8g bG9uZ2VyIGNhbmNlbApkYXRhYmFzZSByZWNvbm5lY3Rpb25zLiBGb3IgaW5zdGFuY2UsIGlmIHRo ZSB1c2VyIHN0YXJ0cyBhIHJlY29ubmVjdGlvbgphbmQgdGhlbiBuZWVkcyB0byBkbyBzb21lIGZv cm0gb2YgaW50ZXJhY3Rpb24gKGllIHBzcWwgaXMgcG9sbGluZyksCnRoZXJlIGlzIG5vIHdheSB0 byBjYW5jZWwgdGhlIHJlY29ubmVjdGlvbiBwcm9jZXNzIGN1cnJlbnRseS4KClVzZSBQUWNvbm5l Y3RTdGFydFBhcmFtcygpIGluIG9yZGVyIHRvIGluc2VydCBhIGNhbmNlbF9wcmVzc2VkIGNoZWNr CmludG8gdGhlIHBvbGxpbmcgbG9vcC4KLS0tCiBzcmMvYmluL3BzcWwvY29tbWFuZC5jIHwgNTAg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdl ZCwgNDkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9iaW4v cHNxbC9jb21tYW5kLmMgYi9zcmMvYmluL3BzcWwvY29tbWFuZC5jCmluZGV4IDliMGZhMDQxZjcz Li4wMGEyMGU0NzMyOCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL2NvbW1hbmQuYworKysgYi9z cmMvYmluL3BzcWwvY29tbWFuZC5jCkBAIC0xNTksNiArMTU5LDcgQEAgc3RhdGljIHZvaWQgZGlz Y2FyZF9xdWVyeV90ZXh0KFBzcWxTY2FuU3RhdGUgc2Nhbl9zdGF0ZSwgQ29uZGl0aW9uYWxTdGFj ayBjc3RhY2sKIHN0YXRpYyBib29sIGNvcHlfcHJldmlvdXNfcXVlcnkoUFFFeHBCdWZmZXIgcXVl cnlfYnVmLCBQUUV4cEJ1ZmZlciBwcmV2aW91c19idWYpOwogc3RhdGljIGJvb2wgZG9fY29ubmVj dChlbnVtIHRyaXZhbHVlIHJldXNlX3ByZXZpb3VzX3NwZWNpZmljYXRpb24sCiAJCQkJCSAgIGNo YXIgKmRibmFtZSwgY2hhciAqdXNlciwgY2hhciAqaG9zdCwgY2hhciAqcG9ydCk7CitzdGF0aWMg dm9pZCB3YWl0X3VudGlsX2Nvbm5lY3RlZChQR2Nvbm4gKmNvbm4pOwogc3RhdGljIGJvb2wgZG9f ZWRpdChjb25zdCBjaGFyICpmaWxlbmFtZV9hcmcsIFBRRXhwQnVmZmVyIHF1ZXJ5X2J1ZiwKIAkJ CQkJaW50IGxpbmVubywgYm9vbCBkaXNjYXJkX29uX3F1aXQsIGJvb2wgKmVkaXRlZCk7CiBzdGF0 aWMgYm9vbCBkb19zaGVsbChjb25zdCBjaGFyICpjb21tYW5kKTsKQEAgLTM1OTUsMTEgKzM1OTYs MTIgQEAgZG9fY29ubmVjdChlbnVtIHRyaXZhbHVlIHJldXNlX3ByZXZpb3VzX3NwZWNpZmljYXRp b24sCiAJCXZhbHVlc1twYXJhbW51bV0gPSBOVUxMOwogCiAJCS8qIE5vdGUgd2UgZG8gbm90IHdh bnQgbGlicHEgdG8gcmUtZXhwYW5kIHRoZSBkYm5hbWUgcGFyYW1ldGVyICovCi0JCW5fY29ubiA9 IFBRY29ubmVjdGRiUGFyYW1zKGtleXdvcmRzLCB2YWx1ZXMsIGZhbHNlKTsKKwkJbl9jb25uID0g UFFjb25uZWN0U3RhcnRQYXJhbXMoa2V5d29yZHMsIHZhbHVlcywgZmFsc2UpOwogCiAJCXBnX2Zy ZWUoa2V5d29yZHMpOwogCQlwZ19mcmVlKHZhbHVlcyk7CiAKKwkJd2FpdF91bnRpbF9jb25uZWN0 ZWQobl9jb25uKTsKIAkJaWYgKFBRc3RhdHVzKG5fY29ubikgPT0gQ09OTkVDVElPTl9PSykKIAkJ CWJyZWFrOwogCkBAIC0zNzQ4LDYgKzM3NTAsNTIgQEAgZG9fY29ubmVjdChlbnVtIHRyaXZhbHVl IHJldXNlX3ByZXZpb3VzX3NwZWNpZmljYXRpb24sCiAJcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRp YyB2b2lkCit3YWl0X3VudGlsX2Nvbm5lY3RlZChQR2Nvbm4gKmNvbm4pCit7CisJYm9vbAkJZm9y X3JlYWQgPSBmYWxzZTsKKworCXdoaWxlICh0cnVlKQorCXsKKwkJaW50CQkJcmM7CisJCWludAkJ CXNvY2s7CisJCXRpbWVfdAkJdGltZW91dDsKKworCQkvKgorCQkgKiBPbiBldmVyeSBpdGVyYXRp b24gb2YgdGhlIHN0YXRlIG1hY2hpbmUsIGxldCdzIGNoZWNrIGlmIHRoZSB1c2VyIGhhcworCQkg KiByZXF1ZXN0ZWQgYSBjYW5jZWxsYXRpb24gb2YgdGhlIGNvbm5lY3Rpb24gcHJvY2Vzcy4KKwkJ ICovCisJCWlmIChjYW5jZWxfcHJlc3NlZCkKKwkJCWJyZWFrOworCisJCXNvY2sgPSBQUXNvY2tl dChjb25uKTsKKwkJaWYgKHNvY2sgPT0gLTEpCisJCQlicmVhazsKKworCQkvKiBVc2UgYSAxIHNl Y29uZCB0aW1lb3V0ICovCisJCXRpbWVvdXQgPSB0aW1lKE5VTEwpICsgMTsKKwkJcmMgPSBQUXNv Y2tldFBvbGwoc29jaywgZm9yX3JlYWQsICFmb3JfcmVhZCwgdGltZW91dCk7CisJCWlmIChyYyA9 PSAtMSkKKwkJCXJldHVybjsKKworCQlzd2l0Y2ggKFBRY29ubmVjdFBvbGwoY29ubikpCisJCXsK KwkJCWNhc2UgUEdSRVNfUE9MTElOR19PSzoKKwkJCWNhc2UgUEdSRVNfUE9MTElOR19GQUlMRUQ6 CisJCQkJcmV0dXJuOworCQkJY2FzZSBQR1JFU19QT0xMSU5HX1JFQURJTkc6CisJCQkJZm9yX3Jl YWQgPSB0cnVlOworCQkJCWNvbnRpbnVlOworCQkJY2FzZSBQR1JFU19QT0xMSU5HX1dSSVRJTkc6 CisJCQkJZm9yX3JlYWQgPSBmYWxzZTsKKwkJCQljb250aW51ZTsKKwkJCWNhc2UgUEdSRVNfUE9M TElOR19BQ1RJVkU6CisJCQkJcGdfdW5yZWFjaGFibGUoKTsKKwkJfQorCX0KKworCXBnX3VucmVh Y2hhYmxlKCk7Cit9CiAKIHZvaWQKIGNvbm5lY3Rpb25fd2FybmluZ3MoYm9vbCBpbl9zdGFydHVw KQotLSAKVHJpc3RhbiBQYXJ0aW4KTmVvbiAoaHR0cHM6Ly9uZW9uLnRlY2gpCgo= --0898631b4337924eb3a206db88a75ead41799644e75a7c89c192e772061e--