Bug#486069: perl: embedding perl hangs on hppa without PERL_SYS_INIT3() since 5.10.0

Russ Allbery rra at stanford.edu
Sun Jun 29 03:14:34 UTC 2008


Julien ÉLIE <julien at trigofacile.com> writes:

> Cleanfeed is working fine (innd filter) but nnrpd filters does not.
> When I send an article, there is no answer:  my news reader keeps
> waiting.  And if I stop posting the article, it is suddenly processed by
> nnrpd and correctly posted (but my news reader still has it in its
> "items to send").

At a guess, Perl is trying to read from standard input somewhere.  I
don't, however, know why that change would cause the nnrpd filters to
begin to do so.  It sounds like it's hanging in the Perl filter until the
network connection is closed for some reason.

>> I'm not *sure* on this, but this possibly should be perl_eval_pv to be
>> safer (although either probably works).  I don't remember exactly how
>> the namespacing works when embedding.
>
> They say:
>
> eval_pv
>  Tells Perl to eval the given string and return an SV* result.
>  NOTE: the perl_ form of this function is deprecated.
>
> But probably I should put perl_eval_pv for backward compatibility with
> previous Perl versions.

Yeah, it's odd that they're moving in that direction, away from a
namespace, but I guess there's enough other Perl functions not in a
namespace that trying to keep everything in perl_* is hopeless.

> +        asprintf(&evalfile, "eval undef &%s", function);
> +        eval_pv(evalfile, TRUE);
>
> It might be changed to only "undef &%s" because eval_pv does the
> evaluation I think.  But the posting issue is still here with that
> change.

You should indeed be able to drop the eval, but yeah, that's not the root
of the problem.

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>

    Please send questions to the list rather than mailing me directly.
     <http://www.eyrie.org/~eagle/faqs/questions.html> explains why.


More information about the inn-workers mailing list