Put back pqsignal() as an exported libpq symbol.
Tom Lane <tgl@sss.pgh.pa.us>
Put back pqsignal() as an exported libpq symbol. This reverts commit f7ab80285. Per discussion, we can't remove an exported symbol without a SONAME bump, which we don't want to do. In particular that breaks usage of current libpq.so with pre-9.3 versions of psql etc, which need libpq to export pqsignal(). As noted in that commit message, exporting the symbol from libpgport.a won't work reliably; but actually we don't want to export src/port's implementation anyway. Any pre-9.3 client is going to be expecting the definition that pqsignal() had before 9.3, which was that it didn't set SA_RESTART for SIGALRM. Hence, put back pqsignal() in a separate source file in src/interfaces/libpq, and give it the old semantics. Back-patch to v12. Discussion: https://postgr.es/m/E1g5vmT-0003K1-6S@gemulon.postgresql.org
Files
| Path | Change | +/− |
|---|---|---|
| src/interfaces/libpq/exports.txt | modified | +1 −1 |
| src/interfaces/libpq/legacy-pqsignal.c | added | +57 −0 |
| src/interfaces/libpq/Makefile | modified | +1 −1 |
Discussion
- pgsql: Remove pqsignal() from libpq's official exports list. 9 messages · 2018-09-28 → 2019-10-11