ITS#3923 make perl_back_open symmetric with perl_back_close

This commit is contained in:
Howard Chu 2005-09-23 11:54:48 +00:00
parent 3a018600d3
commit bf7194aba9
3 changed files with 13 additions and 26 deletions

View File

@ -28,20 +28,7 @@ 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;

View File

@ -37,18 +37,6 @@ perl_back_initialize(
{
char *embedding[] = { "", "-e", "0" };
Debug( LDAP_DEBUG_TRACE, "perl backend open\n", 0, 0, 0 );
if( PERL_INTERPRETER != NULL ) {
Debug( LDAP_DEBUG_ANY, "perl backend open: already opened\n",
0, 0, 0 );
return 1;
}
PERL_INTERPRETER = perl_alloc();
perl_construct(PERL_INTERPRETER);
perl_parse(PERL_INTERPRETER, perl_back_xs_init, 3, embedding, (char **)NULL);
perl_run(PERL_INTERPRETER);
bi->bi_open = perl_back_open;
bi->bi_config = 0;
@ -86,7 +74,20 @@ perl_back_open(
BackendInfo *bi
)
{
Debug( LDAP_DEBUG_TRACE, "perl backend open\n", 0, 0, 0 );
if( PERL_INTERPRETER != NULL ) {
Debug( LDAP_DEBUG_ANY, "perl backend open: already opened\n",
0, 0, 0 );
return 1;
}
ldap_pvt_thread_mutex_init( &perl_interpreter_mutex );
PERL_INTERPRETER = perl_alloc();
perl_construct(PERL_INTERPRETER);
perl_parse(PERL_INTERPRETER, perl_back_xs_init, 3, embedding, (char **)NULL);
perl_run(PERL_INTERPRETER);
return 0;
}

View File

@ -24,7 +24,6 @@ extern BI_init perl_back_initialize;
extern BI_open perl_back_open;
extern BI_close perl_back_close;
extern BI_destroy perl_back_destroy;
extern BI_db_init perl_back_db_init;
extern BI_db_open perl_back_db_open;