From f8fe8095414a0ec55e68fcba0558ec5f20edbed1 Mon Sep 17 00:00:00 2001 From: bjordanov Date: Mon, 7 Mar 2005 11:52:06 +0000 Subject: [PATCH] When defined USE_ITHREADS and called perl_xlat an perl interpetator is not released on exit so after few requests the thread pool will not contain a free interpetators. (closes: #179) --- src/modules/rlm_perl/rlm_perl.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/modules/rlm_perl/rlm_perl.c b/src/modules/rlm_perl/rlm_perl.c index 9f8c7b2..df09798 100644 --- a/src/modules/rlm_perl/rlm_perl.c +++ b/src/modules/rlm_perl/rlm_perl.c @@ -647,7 +647,7 @@ static int perl_xlat(void *instance, REQUEST *request, char *fmt, char * out, PERL_INST *inst= (PERL_INST *) instance; PerlInterpreter *perl; char params[1024], *tmp_ptr, *ptr, *tmp; - int count, ret; + int count, ret=0; STRLEN n_a; #ifndef USE_ITHREADS perl = inst->perl; @@ -711,14 +711,12 @@ static int perl_xlat(void *instance, REQUEST *request, char *fmt, char * out, FREETMPS ; LEAVE ; - if (ret <= freespace) - return ret; } } #ifdef USE_ITHREADS pool_release(handle, instance); #endif - return 0; + return ret; } /* * Do any per-module initialization that is separate to each -- 2.1.4