diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2017-04-14 23:50:16 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2017-04-14 23:50:16 -0400 |
commit | 32470825d36d99a81347ee36c181d609c952c061 (patch) | |
tree | 0fe8bfc11dbb20ae8dfe943632674cd3bc859b79 /src/backend/access/transam/README.parallel | |
parent | 5a617ab3e691aec56725960e6d28c98c8af6ddaa (diff) |
Avoid passing function pointers across process boundaries.
We'd already recognized that we can't pass function pointers across process
boundaries for functions in loadable modules, since a shared library could
get loaded at different addresses in different processes. But actually the
practice doesn't work for functions in the core backend either, if we're
using EXEC_BACKEND. This is the cause of recent failures on buildfarm
member culicidae. Switch to passing a string function name in all cases.
Something like this needs to be back-patched into 9.6, but let's see
if the buildfarm likes it first.
Petr Jelinek, with a bunch of basically-cosmetic adjustments by me
Discussion: https://postgr.es/m/548f9c1d-eafa-e3fa-9da8-f0cc2f654e60@2ndquadrant.com
Diffstat (limited to 'src/backend/access/transam/README.parallel')
-rw-r--r-- | src/backend/access/transam/README.parallel | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/access/transam/README.parallel b/src/backend/access/transam/README.parallel index 4d98f4e65d1..5c33c40ae95 100644 --- a/src/backend/access/transam/README.parallel +++ b/src/backend/access/transam/README.parallel @@ -198,7 +198,7 @@ pattern looks like this: EnterParallelMode(); /* prohibit unsafe state changes */ - pcxt = CreateParallelContext(entrypoint, nworkers); + pcxt = CreateParallelContext("library_name", "function_name", nworkers); /* Allow space for application-specific data here. */ shm_toc_estimate_chunk(&pcxt->estimator, size); |