Re: BUG #17391: While using --with-ssl=openssl and PG_TEST_EXTRA='ssl' options, SSL tests fail on OpenBSD 7.0
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Daniel Gustafsson <daniel@yesql.se>, Thomas Munro <thomas.munro@gmail.com>, byavuz81@gmail.com, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>, Heikki Linnakangas <heikki.linnakangas@iki.fi>, Michael Paquier <michael@paquier.xyz>
Date: 2022-02-11T01:54:55Z
Lists: pgsql-bugs
Hi, On 2022-02-10 20:25:28 -0500, Tom Lane wrote: > I was staring at that for awhile too. It's my own code (from 1f39a1c0641) > but it sure confuses me now; at the very least the code is not in sync > with the comment. However, it's been that way for a couple years now and > we've not had complaints suggesting it's broken, so maybe it's the comment > that's wrong. I wonder if it could be part of the whole "walreceiver on windows not noticing connection death" business. Libpq internally gets a write failure, defers reporting it, we end up in libpqrcv_PQgetResult(), which will call PQisBusy() returning true due to write_failure, which then causes us to wait for incoming socket IO. But WaitEventForMultipleObjects() will not be signalled again due to the the edge triggered nature of FD_CLOSE. Greetings, Andres Freund
Commits
-
Move libpq's write_failed mechanism down to pqsecure_raw_write().
- faa189c932d5 15.0 landed
-
Fix thinko in PQisBusy().
- c9d35dc7f8a9 12.11 landed
- ae27b1acc43d 14.3 landed
- 51ee561f5671 13.7 landed
- 335fa5a26029 15.0 landed
-
Set SNI ClientHello extension to localhost in tests
- 6d503d2a4732 15.0 landed
- 5f00ef065ec8 14.3 landed
-
Improve worst-case performance of text_position_get_match_pos()
- b31e3f561365 15.0 cited