]> git.sur5r.net Git - openldap/blob - servers/slapd/back-perl/close.c
group rewrite/map stuff in one structure and optimize more function calls
[openldap] / servers / slapd / back-perl / close.c
1 /* $OpenLDAP$ */
2 /*
3  *       Copyright 1999, John C. Quillan, All rights reserved.
4  *       Portions Copyright 2002, myinternet Limited. All rights reserved.
5  *
6  *       Redistribution and use in source and binary forms are permitted only
7  *       as authorized by the OpenLDAP Public License.  A copy of this
8  *       license is available at http://www.OpenLDAP.org/license.html or
9  *       in file LICENSE in the top-level directory of the distribution.
10  */
11
12 #include "portable.h"
13 /* init.c - initialize shell backend */
14         
15 #include <stdio.h>
16
17 #include "slap.h"
18 #ifdef HAVE_WIN32_ASPERL
19 #include "asperl_undefs.h"
20 #endif
21
22 #include <EXTERN.h>
23 #include <perl.h>
24
25 #include "perl_back.h"
26
27 /**********************************************************
28  *
29  * Close
30  *
31  **********************************************************/
32
33 int
34 perl_back_close(
35         BackendInfo *bd
36 )
37 {
38         ldap_pvt_thread_mutex_lock( &perl_interpreter_mutex );  
39
40         perl_destruct(PERL_INTERPRETER);
41
42         ldap_pvt_thread_mutex_unlock( &perl_interpreter_mutex );        
43
44         return 0;
45 }
46
47 int
48 perl_back_destroy(
49         BackendInfo *bd
50 )
51 {
52         perl_free(PERL_INTERPRETER);
53         PERL_INTERPRETER = NULL;
54
55         ldap_pvt_thread_mutex_destroy( &perl_interpreter_mutex );       
56
57         return 0;
58 }
59
60 int
61 perl_back_db_destroy(
62         BackendDB *be
63 )
64 {
65         free( be->be_private );
66         be->be_private = NULL;
67
68         return 0;
69 }