Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ov2zD-00061P-6g for pgsql-hackers@arkaria.postgresql.org; Tue, 15 Nov 2022 20:56:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ov2zC-00079H-0C for pgsql-hackers@arkaria.postgresql.org; Tue, 15 Nov 2022 20:56:50 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ov2zB-000796-NF for pgsql-hackers@lists.postgresql.org; Tue, 15 Nov 2022 20:56:49 +0000 Received: from relay7-d.mail.gandi.net ([2001:4b98:dc4:8::227]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ov2z6-0003nq-GZ for pgsql-hackers@postgresql.org; Tue, 15 Nov 2022 20:56:48 +0000 Received: (Authenticated sender: adsend@dunslane.net) by mail.gandi.net (Postfix) with ESMTPSA id C7CC320004; Tue, 15 Nov 2022 20:56:38 +0000 (UTC) Content-Type: multipart/mixed; boundary="------------g00oghuYUM00UKRF1yJ88KYd" Message-ID: Date: Tue, 15 Nov 2022 15:56:37 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: ssl tests aren't concurrency safe due to get_free_port() Content-Language: en-US From: Andrew Dunstan To: Andres Freund Cc: pgsql-hackers@postgresql.org, Tom Lane References: <20221002164931.d57hlutrcz4d2zi7@awork3.anarazel.de> <7579f627-aad4-7a04-1a98-033cc6b3cca5@dunslane.net> <52266bf8-bf38-fdfa-9a77-1568f82b63b3@dunslane.net> <0891f64a-d30f-a1b7-9d0c-e447684cd8cd@dunslane.net> <20221105183643.v2nxsac3xlb3eazi@awork3.anarazel.de> <0867ca05-ed3f-09ca-cd41-d7087e542362@dunslane.net> In-Reply-To: <0867ca05-ed3f-09ca-cd41-d7087e542362@dunslane.net> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------g00oghuYUM00UKRF1yJ88KYd Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 2022-11-06 Su 11:30, Andrew Dunstan wrote: > > One possible addition would be to add removing the reservation files in > an END handler. That would be pretty simple. > > Here's a version with that. I suggest we try it out and see if anything breaks. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com --------------g00oghuYUM00UKRF1yJ88KYd Content-Type: text/x-patch; charset=UTF-8; name="prevent-concurrent-free-port-v3.patch" Content-Disposition: attachment; filename="prevent-concurrent-free-port-v3.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0NsdXN0ZXIucG0g Yi9zcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtCmluZGV4IGQ4MDEz NGIyNmYuLjg1ZmFlMzJjMTQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNR TC9UZXN0L0NsdXN0ZXIucG0KKysrIGIvc3JjL3Rlc3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3Qv Q2x1c3Rlci5wbQpAQCAtOTMsOSArOTMsOSBAQCB1c2Ugd2FybmluZ3M7CiAKIHVzZSBDYXJw OwogdXNlIENvbmZpZzsKLXVzZSBGY250bCBxdyg6bW9kZSk7Cit1c2UgRmNudGwgcXcoOm1v ZGUgOmZsb2NrIDpzZWVrIE9fQ1JFQVQgT19SRFdSKTsKIHVzZSBGaWxlOjpCYXNlbmFtZTsK LXVzZSBGaWxlOjpQYXRoIHF3KHJtdHJlZSk7Cit1c2UgRmlsZTo6UGF0aCBxdyhybXRyZWUg bWtwYXRoKTsKIHVzZSBGaWxlOjpTcGVjOwogdXNlIEZpbGU6OnN0YXQgcXcoc3RhdCk7CiB1 c2UgRmlsZTo6VGVtcCAoKTsKQEAgLTEwOSwxMiArMTA5LDE1IEBAIHVzZSBUaW1lOjpIaVJl cyBxdyh1c2xlZXApOwogdXNlIFNjYWxhcjo6VXRpbCBxdyhibGVzc2VkKTsKIAogb3VyICgk dXNlX3RjcCwgJHRlc3RfbG9jYWxob3N0LCAkdGVzdF9wZ2hvc3QsICRsYXN0X2hvc3RfYXNz aWduZWQsCi0JJGxhc3RfcG9ydF9hc3NpZ25lZCwgQGFsbF9ub2RlcywgJGRpZWQpOworCSRs YXN0X3BvcnRfYXNzaWduZWQsIEBhbGxfbm9kZXMsICRkaWVkLCAkcG9ydGRpcik7CiAKICMg dGhlIG1pbmltdW0gdmVyc2lvbiB3ZSBiZWxpZXZlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCB0 aGlzIHBhY2thZ2Ugd2l0aG91dAogIyBzdWJjbGFzc2luZy4KIG91ciAkbWluX2NvbXBhdCA9 IDEyOwogCisjIGxpc3Qgb2YgZmlsZSByZXNlcnZhdGlvbnMgbWFkZSBieSBnZXRfZnJlZV9w b3J0CitteSBAcG9ydF9yZXNlcnZhdGlvbl9maWxlczsKKwogSU5JVAogewogCkBAIC0xNDAs NiArMTQzLDI3IEBAIElOSVQKIAogCSMgVHJhY2tpbmcgb2YgbGFzdCBwb3J0IHZhbHVlIGFz c2lnbmVkIHRvIGFjY2VsZXJhdGUgZnJlZSBwb3J0IGxvb2t1cC4KIAkkbGFzdF9wb3J0X2Fz c2lnbmVkID0gaW50KHJhbmQoKSAqIDE2Mzg0KSArIDQ5MTUyOworCisJIyBTZXQgdGhlIHBv cnQgbG9jayBkaXJlY3RvcnkKKworCSMgSWYgd2UncmUgdG9sZCB0byB1c2UgYSBkaXJlY3Rv cnkgKGUuZy4gZnJvbSBhIGJ1aWxkZmFybSBjbGllbnQpCisJIyBleHBsaWNpdGx5LCB1c2Ug dGhhdAorCSRwb3J0ZGlyID0gJEVOVntQR19URVNUX1BPUlRfRElSfTsKKwkjIE90aGVyd2lz ZSwgdHJ5IHRvIHVzZSBhIGRpcmVjdG9yeSBhdCB0aGUgdG9wIG9mIHRoZSBidWlsZCB0cmVl CisJaWYgKCEgJHBvcnRkaXIgJiYgJEVOVntNRVNPTl9CVUlMRF9ST09UfSkKKwl7CisJCSRw b3J0ZGlyID0gJEVOVntNRVNPTl9CVUlMRF9ST09UfSAuICcvcG9ydGxvY2snCisJfQorCWVs c2lmICghICRwb3J0ZGlyICYmICgkRU5We1RFU1REQVRBRElSfSB8fCAiIikgPX4gL1xXKHNy Y3xjb250cmliKVxXL3ApCisJeworCQlteSAkZGlyID0gJHteUFJFTUFUQ0h9OworCQkkcG9y dGRpciA9ICIkZGlyL3BvcnRsb2NrIiBpZiAkZGlyOworCX0KKwkjIEFzIGEgbGFzdCByZXNv cnQgdXNlIGEgZGlyZWN0b3J5IHVuZGVyIHRtcF9jaGVjaworCSRwb3J0ZGlyIHx8PSAkUG9z dGdyZVNRTDo6VGVzdDo6VXRpbHM6OnRtcF9jaGVjayAuICcvcG9ydGxvY2snOworCSRwb3J0 ZGlyID1+IHMhXFwhLyFnOworCSMgTWFrZSBzdXJlIHRoZSBkaXJlY3RvcnkgZXhpc3RzCisJ bWtwYXRoKCRwb3J0ZGlyKSB1bmxlc3MgLWQgJHBvcnRkaXI7CiB9CiAKID1wb2QKQEAgLTE1 MDUsNiArMTUyOSw3IEBAIHN1YiBnZXRfZnJlZV9wb3J0CiAJCQkJCWxhc3Q7CiAJCQkJfQog CQkJfQorCQkJJGZvdW5kID0gX3Jlc2VydmVfcG9ydCgkcG9ydCkgaWYgJGZvdW5kOwogCQl9 CiAJfQogCkBAIC0xNTM1LDYgKzE1NjAsNDAgQEAgc3ViIGNhbl9iaW5kCiAJcmV0dXJuICRy ZXQ7CiB9CiAKKyMgSW50ZXJuYWwgcm91dGluZSB0byByZXNlcnZlIGEgcG9ydCBudW1iZXIK KyMgUmV0dXJucyAxIGlmIHN1Y2Nlc3NmdWwsIDAgaWYgcG9ydCBpcyBhbHJlYWR5IHJlc2Vy dmVkLgorc3ViIF9yZXNlcnZlX3BvcnQKK3sKKwlteSAkcG9ydCA9IHNoaWZ0OworCSMgb3Bl biBpbiBydyBtb2RlIHNvIHdlIGRvbid0IGhhdmUgdG8gcmVvcGVuIGl0IGFuZCBsb3NlIHRo ZSBsb2NrCisJbXkgJGZpbGVuYW1lID0gIiRwb3J0ZGlyLyRwb3J0LnJzdiI7CisJc3lzb3Bl bihteSAkcG9ydGZpbGUsICRmaWxlbmFtZSwgT19SRFdSfE9fQ1JFQVQpCisJICB8fCBkaWUg Im9wZW5pbmcgcG9ydCBmaWxlICRmaWxlbmFtZSI7CisJIyB0YWtlIGFuIGV4Y2x1c2l2ZSBs b2NrIHRvIGF2b2lkIGNvbmN1cnJlbnQgYWNjZXNzCisJZmxvY2soJHBvcnRmaWxlLCBMT0NL X0VYKSB8fCBkaWUgImxvY2tpbmcgcG9ydCBmaWxlICRmaWxlbmFtZSI7CisJIyBzZWUgaWYg c29tZW9uZSBlbHNlIGhhcyBvciBoYWQgYSByZXNlcnZhdGlvbiBvZiB0aGlzIHBvcnQKKwlt eSAkcGlkID0gPCRwb3J0ZmlsZT47CisJY2hvbXAgJHBpZDsKKwlpZiAoJHBpZCArMCA+IDAp CisJeworCQlpZiAoa2lsbCAwLCAkcGlkKQorCQl7CisJCQkjIHByb2Nlc3MgZXhpc3RzIGFu ZCBpcyBvd25lZCBieSB1cywgc28gd2UgY2FuJ3QgcmVzZXJ2ZSB0aGlzIHBvcnQKKwkJCWNs b3NlKCRwb3J0ZmlsZSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKwkjIEFsbCBnb29kLCBn byBhaGVhZCBhbmQgcmVzZXJ2ZSB0aGUgcG9ydCwgZmlyc3QgcmV3aW5kIGFuZCB0cnVuY2F0 ZS4KKwkjIElmIHRydW5jYXRpb24gZmFpbHMgaXQncyBub3QgYSB0cmFnZWR5LCBpdCBqdXN0 IG1pZ2h0IGxlYXZlIHNvbWUKKwkjIHRyYWlsaW5nIGp1bmsgaW4gdGhlIGZpbGUgdGhhdCB3 b24ndCBhZmZlY3QgdXMuCisJc2VlaygkcG9ydGZpbGUsIDAsIFNFRUtfU0VUKTsKKwl0cnVu Y2F0ZSgkcG9ydGZpbGUsIDApOworCXByaW50ICRwb3J0ZmlsZSAiJCRcbiI7CisJY2xvc2Uo JHBvcnRmaWxlKTsKKwlwdXNoKEBwb3J0X3Jlc2VydmF0aW9uX2ZpbGVzLCAkZmlsZW5hbWUp OworCXJldHVybiAxOworfQorCiAjIEF1dG9tYXRpY2FsbHkgc2h1dCBkb3duIGFueSBzdGls bC1ydW5uaW5nIG5vZGVzIChpbiB0aGUgc2FtZSBvcmRlciB0aGUgbm9kZXMKICMgd2VyZSBj cmVhdGVkIGluKSB3aGVuIHRoZSB0ZXN0IHNjcmlwdCBleGl0cy4KIEVORApAQCAtMTU2Miw2 ICsxNjIxLDggQEAgRU5ECiAJCSAgaWYgJGV4aXRfY29kZSA9PSAwICYmIFBvc3RncmVTUUw6 OlRlc3Q6OlV0aWxzOjphbGxfdGVzdHNfcGFzc2luZygpOwogCX0KIAorCXVubGluayBAcG9y dF9yZXNlcnZhdGlvbl9maWxlczsKKwogCSQ/ID0gJGV4aXRfY29kZTsKIH0KIAo= --------------g00oghuYUM00UKRF1yJ88KYd--