On Darwin, detect and report a multithreaded postmaster.
Darwin --enable-nls builds use a substitute setlocale() that may start a
thread. Buildfarm member orangutan experienced BackendList corruption
on account of different postmaster threads executing signal handlers
simultaneously. Furthermore, a multithreaded postmaster risks undefined
behavior from sigprocmask() and fork(). Emit LOG messages about the
problem and its workaround. Back-patch to 9.0 (all supported versions).
Branch
------
REL9_0_STABLE
Details
-------
http://git.postgresql.org/pg/commitdiff/2e4946169d2f4890606305bef8bad7883d2e5281
Modified Files
--------------
configure | 3 ++-
configure.in | 2 +-
src/backend/postmaster/postmaster.c | 43 +++++++++++++++++++++++++++++++++++
src/include/pg_config.h.in | 3 +++
src/port/exec.c | 12 ++++++++++
5 files changed, 61 insertions(+), 2 deletions(-)