X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-perl%2Fclose.c;h=6e16a04daf7a8a7234d29b4894ad0b7fc36a4823;hb=04311cc7163ce54d63bd2e764c13d69ea1fce57b;hp=8a4139a8ae9b8102de5d263e319ec473e524339b;hpb=3c598e89fb34a892d369a138daa8c3314294493c;p=openldap diff --git a/servers/slapd/back-perl/close.c b/servers/slapd/back-perl/close.c index 8a4139a8ae..6e16a04daf 100644 --- a/servers/slapd/back-perl/close.c +++ b/servers/slapd/back-perl/close.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2004 The OpenLDAP Foundation. + * Copyright 1999-2011 The OpenLDAP Foundation. * Portions Copyright 1999 John C. Quillan. * Portions Copyright 2002 myinternet Limited. * All rights reserved. @@ -15,22 +15,8 @@ * . */ -#include -#include -#undef _ /* #defined by both Perl and ac/localize.h */ - -#ifdef HAVE_WIN32_ASPERL -#include "asperl_undefs.h" -#endif - -#include "portable.h" - -#include - -#include "slap.h" - #include "perl_back.h" - +#include "../config.h" /********************************************************** * * Close @@ -42,22 +28,12 @@ perl_back_close( BackendInfo *bd ) { - ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex ); - perl_destruct(PERL_INTERPRETER); - - ldap_pvt_thread_mutex_unlock( &perl_interpreter_mutex ); - - return 0; -} - -int -perl_back_destroy( - BackendInfo *bd -) -{ perl_free(PERL_INTERPRETER); PERL_INTERPRETER = NULL; +#ifdef PERL_SYS_TERM + PERL_SYS_TERM(); +#endif ldap_pvt_thread_mutex_destroy( &perl_interpreter_mutex ); @@ -66,9 +42,16 @@ perl_back_destroy( int perl_back_db_destroy( - BackendDB *be + BackendDB *be, + ConfigReply *cr ) { + PerlBackend *pb = be->be_private; + + ch_free( pb->pb_module_name ); + ber_bvarray_free( pb->pb_module_path ); + ber_bvarray_free( pb->pb_module_config ); + free( be->be_private ); be->be_private = NULL;