From a92d4313a5cf786315e739831ec01c3f69e96e3b Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Sat, 27 Jun 2009 20:02:10 +0000 Subject: [PATCH] ITS#5658 --- CHANGES | 1 + servers/slapd/back-perl/close.c | 3 +++ servers/slapd/back-perl/init.c | 9 ++++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index feadc798f3..422bb19460 100644 --- a/CHANGES +++ b/CHANGES @@ -40,6 +40,7 @@ OpenLDAP 2.4.17 Engineering Fixed slapo-collect collectinfo ordering (ITS#6076) Fixed slapo-collect missing equality match rule (ITS#6075) Fixed slapo-dds entry expiration (ITS#6169) + Fixed slapo-perl symbols (ITS#5658) Fixed slapo-refint refint_repair handling (ITS#6056) Added slapo-rwm rwm-drop-unrequested-attrs config option (ITS#6057) Fixed slapo-rwm dn passing (ITS#6070) diff --git a/servers/slapd/back-perl/close.c b/servers/slapd/back-perl/close.c index 48fd480eb8..24263b04ae 100644 --- a/servers/slapd/back-perl/close.c +++ b/servers/slapd/back-perl/close.c @@ -31,6 +31,9 @@ perl_back_close( perl_destruct(PERL_INTERPRETER); perl_free(PERL_INTERPRETER); PERL_INTERPRETER = NULL; +#ifdef PERL_SYS_TERM + PERL_SYS_TERM(); +#endif ldap_pvt_thread_mutex_destroy( &perl_interpreter_mutex ); diff --git a/servers/slapd/back-perl/init.c b/servers/slapd/back-perl/init.c index 74e2dd052c..c461bb2d47 100644 --- a/servers/slapd/back-perl/init.c +++ b/servers/slapd/back-perl/init.c @@ -37,6 +37,7 @@ perl_back_initialize( ) { char *embedding[] = { "", "-e", "0" }; + int argc = 3; bi->bi_open = NULL; bi->bi_config = 0; @@ -77,9 +78,15 @@ perl_back_initialize( ldap_pvt_thread_mutex_init( &perl_interpreter_mutex ); +#ifdef PERL_SYS_INIT3 + PERL_SYS_INIT3(&argc, &embedding, (char **)NULL); +#endif PERL_INTERPRETER = perl_alloc(); perl_construct(PERL_INTERPRETER); - perl_parse(PERL_INTERPRETER, perl_back_xs_init, 3, embedding, (char **)NULL); +#ifdef PERL_EXIT_DESTRUCT_END + PL_exit_flags |= PERL_EXIT_DESTRUCT_END; +#endif + perl_parse(PERL_INTERPRETER, perl_back_xs_init, argc, embedding, (char **)NULL); perl_run(PERL_INTERPRETER); return 0; } -- 2.39.5