Don't use bgw_main even to specify in-core bgworker entrypoints.
Robert Haas <rhaas@postgresql.org>
Don't use bgw_main even to specify in-core bgworker entrypoints. On EXEC_BACKEND builds, this can fail if ASLR is in use. Backpatch to 9.5. On master, completely remove the bgw_main field completely, since there is no situation in which it is safe for an EXEC_BACKEND build. On 9.6 and 9.5, leave the field intact to avoid breaking things for third-party code that doesn't care about working under EXEC_BACKEND. Prior to 9.5, there are no in-core bgworker entrypoints. Petr Jelinek, reviewed by me. Discussion: http://postgr.es/m/09d8ad33-4287-a09b-a77f-77f8761adb5e@2ndquadrant.com
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/bgworker.sgml | modified | +9 −27 |
| src/backend/access/transam/parallel.c | modified | +3 −3 |
| src/backend/postmaster/bgworker.c | modified | +53 −28 |
| src/backend/replication/logical/launcher.c | modified | +4 −2 |
| src/include/access/parallel.h | modified | +2 −0 |
| src/include/postmaster/bgworker.h | modified | +2 −3 |
| src/test/modules/test_shm_mq/setup.c | modified | +0 −1 |
| src/test/modules/worker_spi/worker_spi.c | modified | +2 −2 |
Documentation touched
Discussion
- logical replication launcher crash on buildfarm 41 messages · 2017-03-16 → 2017-04-16