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