I wrote:

panic: MUTEX_LOCK (22) [op.c:453] at /usr/bin/mimedefang.pl line 21.
BEGIN failed--compilation aborted at /usr/bin/mimedefang.pl line 21.

This appears to be a bug in Perl.  If you look at the source code
in perl.c:

static void
S_init_tls_and_interp(PerlInterpreter *my_perl)
{
   dVAR;
   if (!PL_curinterp) {
       PERL_SET_INTERP(my_perl);
#if defined(USE_ITHREADS)
       INIT_THREADS;
       ALLOC_THREAD_KEY;
       PERL_SET_THX(my_perl);
       OP_REFCNT_INIT;


The OP_REFCNT_INIT macro (which initializes a mutex) is not called
if PL_curinterp is non-NULL.  However, PL_curinterp is ancient cruft
left over from non-threaded Perl.  A workaround is to add a call
to PERL_SET_INTERP(NULL) inside embperl.c after we call perl_free,
but I believe this relies on internal Perl functionality and I'm not
sure how it interaces with pre-5.10 perl.  I will release a MIMEDefang
beta for people to test.

Regards,

David.



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to