Thanks a lot Justin. This is a big relief. I was worried that SA may fall apart on me today and this makes me feel a lot better.

Thank you!

Joe


Justin Mason wrote:
hi Joe -- yep, it is.  In fact you should probably use the G_ flag
for calling a method in void context, can't recall which one that is ;)

--j.

Joe Flowers writes:
Thanks Justin. I am embedding Perl inside a C program, so I hope this is still true. It used to return a non-NULL or at least the following call used to always return a "count" of 1 and not 0 like it is now after the SA upgrade.

count = perl_call_method("Mail::SpamAssassin::PerMsgStatus::finish", (G_ARRAY|G_EVAL|G_KEEPERR));

Is your answer still the same?

Thanks a lot!

Joe


Justin Mason wrote:
hi Joe --

just ignore the return value of finish() -- it's a void method.
(note how it doesn't mention a return value in its POD doc ;)

--j.

Joe Flowers writes:
Hello Everyone,

I'm getting a weird error message that I have never gotten before over several versions of SA. I just upgraded from "SpamAssassin version 3.1.7 running on Perl version 5.8.8" to "SpamAssassin version 3.2.0 running on Perl version 5.8.8". Now, my calls to Mail::SpamAssassin::PerMsgStatus::finish are "failing"; or at least, it looks like their has been some change in the return values by finish().

I have been running this programming over many iterations of SA and this is the first time I have run into such a problem.

This worries me a lot because from the docs (http://spamassassin.apache.org/full/3.2.x/doc/Mail_SpamAssassin_PerMsgStatus.html):
"
$status->finish ()
....
If you are using SpamAssassin in a persistent environment, or checking many mail messages from one Mail::SpamAssassin factory, this method should be called to ensure Perl's garbage collection will clean up old status objects.
".

These calls "succeed" as usual:

Mail::SpamAssassin::PerMsgStatus::get_required_score
Mail::SpamAssassin::PerMsgStatus::get_score
Mail::SpamAssassin::PerMsgStatus::is_spam
Mail::SpamAssassin::PerMsgStatus::get_names_of_tests_hit
<Mail::SpamAssassin::PerMsgStatus::finish would normally go here if it "succeeded".>

Any ideas please?

Joe


Reply via email to