Re: [Sendmail-milter-users] Using DBI from withing Milter callbacks
Brought to you by:
cying
From: Nelson G. A. <ne...@ve...> - 2002-01-01 03:41:42
|
On Mon, 31 Dec 2001, Nelson G. Arzola wrote: > You've given me much more to work with than I had before (chasing > threadsafe issues across five different libraries is _not_ easy). I'm not > going to claim that I'm a great programmer (or even a mediocre one), but > I've been poking under the Milter hood for the past few hours. If I > figure anything out, I'll report back. From what you've described, I > think I have an idea about where to look. (Whether or not I have a clue > on how to fix it.......) Ok, after pouring over the code for some time, I think I have a handle on where to start debugging this problem. in the file Sendmail-Milter/callbacks.c, in the function callback_noargs(): /* Check the eval first. */ if (SvTRUE(ERRSV)) { POPs; retval = SMFIS_TEMPFAIL; } Here is where the temporary failure comes from. I changed this just slightly to print the information in the ERRSV: /* Check the eval first. */ if (SvTRUE(ERRSV)) { printf("ERRSV detected!\n"); if (SvTRUE(ERRSV)) printf("$@ is '%s'\n", SvPV_nolen(ERRSV)); POPs; retval = SMFIS_TEMPFAIL; } Then I re-ran my code and got the following error: ERRSV detected! $@ is 'Unable to create sub named "*Carp::shortmess_heavy" at /usr/lib/perl5/5.6.1/Carp.pm line 110. ' Does this error message mean anything to anyone? I thought I might be able to get rid of this by putting an explicit 'use Carp' at the beginning of my script. No such luck. Nelson |