mirror of
https://github.com/postgres/postgres.git
synced 2026-04-09 11:06:21 -04:00
Adjust recent PERL_SYS_INIT3 call to avoid platforms where it might fail, and to remove compilation warning. Backpatch the release 7.4
This commit is contained in:
parent
d68475eb96
commit
bc4df3bf8e
1 changed files with 14 additions and 3 deletions
|
|
@ -33,7 +33,7 @@
|
|||
* ENHANCEMENTS, OR MODIFICATIONS.
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/pl/plperl/plperl.c,v 1.40.2.2 2009/06/04 16:01:23 adunstan Exp $
|
||||
* $Header: /cvsroot/pgsql/src/pl/plperl/plperl.c,v 1.40.2.3 2009/06/05 20:33:59 adunstan Exp $
|
||||
*
|
||||
**********************************************************************/
|
||||
|
||||
|
|
@ -216,8 +216,19 @@ plperl_init_interp(void)
|
|||
|
||||
int nargs = 3;
|
||||
|
||||
#ifdef PERL_SYS_INIT3
|
||||
PERL_SYS_INIT3(&nargs, (char ***) &embedding, NULL);
|
||||
char *dummy_perl_env[1] = { NULL };
|
||||
|
||||
/****
|
||||
* The perl API docs state that PERL_SYS_INIT3 should be called before
|
||||
* allocating interprters. Unfortunately, on some platforms this fails
|
||||
* in the Perl_do_taint() routine, which is called when the platform is
|
||||
* using the system's malloc() instead of perl's own. Other platforms,
|
||||
* fail if PERL_SYS_INIT3 is not called. So we call it
|
||||
* if it's available, unless perl is using the system malloc(), which is
|
||||
* true when MYMALLOC is set.
|
||||
*/
|
||||
#if defined(PERL_SYS_INIT3) && !defined(MYMALLOC)
|
||||
PERL_SYS_INIT3(&nargs, (char ***)&embedding, (char***)&dummy_perl_env);
|
||||
#endif
|
||||
|
||||
plperl_interp = perl_alloc();
|
||||
|
|
|
|||
Loading…
Reference in a new issue