Re: libpq OpenSSL and multithreading
Daniel Gustafsson <daniel@yesql.se>
From: Daniel Gustafsson <daniel@yesql.se>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-10-22T08:59:35Z
Lists: pgsql-hackers
Attachments
- v3-0001-libpq-Make-SSL-certificate-callback-in-backend-th.patch (application/octet-stream) patch v3-0001
> On 1 Sep 2025, at 07:27, Peter Eisentraut <peter@eisentraut.org> wrote: > I suggest that instead of adding the context to the Port structure, make a separate context struct for this purpose, for example: Fair enough, done in the attached. > This seems like an extremely inconvenient solution, as can be seen by the amount of changes your patch introduces. We could just make errbuf thread-local and be done, without having to change the API. (This is how glibc's strerror() works internally.) I assume you mean simply leaving it be for now awaiting more thread primitives to be added to fully support thread local storage? (sidenote; if our thread local store code will use TLS then be-secure-openssl.c will be challenging to read =)). I've left out this portion in the attached and only left the callback private data change. -- Daniel Gustafsson
Commits
-
libpq: threadsafety for SSL certificate callback
- 9122ff65a1be 19 (unreleased) landed