postgres.git / summary / log / commit / refs

commit    64a4c69fbb952cd4da02b266ed09eaf8c1266d0d
Author:   Andrew Dunstan <andrew@dunslane.net>
Date:     Thu Jun 04 16:00:49 2009 +0000
First released in: 8.4.0, 7.4.26, 8.0.22, 8.1.18, 8.2.14, 8.3.8

    Initialise perl library as documented in perl API. Backpatch to release 7.4.


src/pl/plperl/plperl.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c index b8d23fd4c4e..75aa058ba0e 100644 --- a/src/pl/plperl/plperl.c +++ b/src/pl/plperl/plperl.c @@ -33,7 +33,7 @@ * ENHANCEMENTS, OR MODIFICATIONS. * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.94.2.10 2008/01/22 20:41:39 adunstan Exp $ + * $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.94.2.11 2009/06/04 16:00:49 adunstan Exp $ * **********************************************************************/ @@ -282,6 +282,8 @@ plperl_init_interp(void) "", "-e", PERLBOOT }; + int nargs = 3; + #ifdef WIN32 /* @@ -321,12 +323,16 @@ plperl_init_interp(void) #endif +#ifdef PERL_SYS_INIT3 + PERL_SYS_INIT3(&nargs, (char ***) &embedding, NULL); +#endif + plperl_interp = perl_alloc(); if (!plperl_interp) elog(ERROR, "could not allocate Perl interpreter"); perl_construct(plperl_interp); - perl_parse(plperl_interp, plperl_init_shared_libs, 3, embedding, NULL); + perl_parse(plperl_interp, plperl_init_shared_libs, nargs, embedding, NULL); perl_run(plperl_interp); plperl_proc_hash = newHV(); @@ -375,7 +381,6 @@ plperl_init_interp(void) } - static void plperl_safe_init(void) { [parent: 18b185cdf0aa]