diff options
| author | Tom Lane | 2017-04-15 03:50:16 +0000 |
|---|---|---|
| committer | Tom Lane | 2017-04-15 03:50:16 +0000 |
| commit | 32470825d36d99a81347ee36c181d609c952c061 (patch) | |
| tree | 0fe8bfc11dbb20ae8dfe943632674cd3bc859b79 /src/backend/utils/fmgr/fmgr.c | |
| 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/[email protected]
Diffstat (limited to 'src/backend/utils/fmgr/fmgr.c')
| -rw-r--r-- | src/backend/utils/fmgr/fmgr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/utils/fmgr/fmgr.c b/src/backend/utils/fmgr/fmgr.c index 68d2110890a..d9e3bf240db 100644 --- a/src/backend/utils/fmgr/fmgr.c +++ b/src/backend/utils/fmgr/fmgr.c @@ -381,7 +381,7 @@ fmgr_info_other_lang(Oid functionId, FmgrInfo *finfo, HeapTuple procedureTuple) * pg_proc. */ const Pg_finfo_record * -fetch_finfo_record(void *filehandle, char *funcname) +fetch_finfo_record(void *filehandle, const char *funcname) { char *infofuncname; PGFInfoFunction infofunc; |
