[Pkg-openldap-devel] r1183 - in openldap/trunk/debian: . patches

rra at alioth.debian.org rra at alioth.debian.org
Sat Aug 16 00:38:28 UTC 2008


tags 495069 pending
thanks

Author: rra
Date: 2008-08-16 00:38:28 +0000 (Sat, 16 Aug 2008)
New Revision: 1183

Added:
   openldap/trunk/debian/patches/back-perl-init
Modified:
   openldap/trunk/debian/changelog
   openldap/trunk/debian/patches/series
Log:
* New patch, back-perl-init, which updates the calling conventions
  around initialization and shutdown of the Perl interpreter to match
  the current perlembed recommendations.  Fixes probable hangs on HPPA
  in back-perl.  Thanks, Niko Tyni.  (Closes: #495069)

Modified: openldap/trunk/debian/changelog
===================================================================
--- openldap/trunk/debian/changelog	2008-07-28 23:10:21 UTC (rev 1182)
+++ openldap/trunk/debian/changelog	2008-08-16 00:38:28 UTC (rev 1183)
@@ -1,3 +1,12 @@
+openldap (2.4.10-4) UNRELEASED; urgency=low
+
+  * New patch, back-perl-init, which updates the calling conventions
+    around initialization and shutdown of the Perl interpreter to match
+    the current perlembed recommendations.  Fixes probable hangs on HPPA
+    in back-perl.  Thanks, Niko Tyni.  (Closes: #495069)
+
+ -- Russ Allbery <rra at debian.org>  Fri, 15 Aug 2008 17:11:10 -0700
+
 openldap (2.4.10-3) unstable; urgency=low
 
   [ Steve Langasek ]

Added: openldap/trunk/debian/patches/back-perl-init
===================================================================
--- openldap/trunk/debian/patches/back-perl-init	                        (rev 0)
+++ openldap/trunk/debian/patches/back-perl-init	2008-08-16 00:38:28 UTC (rev 1183)
@@ -0,0 +1,48 @@
+Perl 5.10 (and some earlier versions) require calling some additional
+macros around Perl interpreter setup and shutdown.  Not doing these
+calls causes problems on HPPA at least, and may affect other platforms
+in the future.  This patch adds the additional code modelled on the
+perlembed man page and a working patch for INN.
+
+Debian Bug#495069
+ITS #5658
+
+--- openldap.orig/servers/slapd/back-perl/close.c
++++ openldap/servers/slapd/back-perl/close.c
+@@ -30,6 +30,9 @@
+ {
+ 	perl_destruct(PERL_INTERPRETER);
+ 	perl_free(PERL_INTERPRETER);
++#ifdef PERL_SYS_TERM
++	PERL_SYS_TERM();
++#endif
+ 	PERL_INTERPRETER = NULL;
+ 
+ 	ldap_pvt_thread_mutex_destroy( &perl_interpreter_mutex );	
+--- openldap.orig/servers/slapd/back-perl/init.c
++++ openldap/servers/slapd/back-perl/init.c
+@@ -37,6 +37,7 @@
+ )
+ {
+ 	char *embedding[] = { "", "-e", "0" };
++	int argc = 3;
+ 
+ 	bi->bi_open = NULL;
+ 	bi->bi_config = 0;
+@@ -77,9 +78,15 @@
+ 	
+ 	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;
+ }

Modified: openldap/trunk/debian/patches/series
===================================================================
--- openldap/trunk/debian/patches/series	2008-07-28 23:10:21 UTC (rev 1182)
+++ openldap/trunk/debian/patches/series	2008-08-16 00:38:28 UTC (rev 1183)
@@ -12,3 +12,4 @@
 no_backend_inter-linking 
 CVE-2008-2952_BER-decoding-assertion 
 gnutls-ssf 
+back-perl-init




More information about the Pkg-openldap-devel mailing list