Compilation with gcc 4.6.0

Julien ÉLIE julien at trigofacile.com
Mon Jun 13 16:39:15 UTC 2011


Hi Russ,

> native functions that did what we're doing with perl_eval_pv() to
> load Perl code from a file.

As a side note, it is true that the current way to load our Perl 
functions is far from being optimum.
We just eval the file when reloading it.

Therefore, if I change the name "filter_art" to another thing, the 
reload is fine and it goes on working (as a matter of fact, "filter_art" 
still exists from the first eval).
However, it will of course break the next time INN is restarted.

It is not that easy to change because we have two different files:
- startup_innd.pl
- filter_innd.pl

and when we reload filter_innd.pl, we should not "undef filter_art" 
because it may have been defined in startup_innd.pl!  And if defined in 
both of these files, another problem…



The way our Python filters work is better:  the .py files are considered 
as modules.  Upon reloading them, we just reload the files as modules 
(so it is a complete refresh of all the available functions in the module).


Shouldn't we do the same thing with Perl?  It would allow to load a 
module 'Filter_innd.pm' and call 'Filter_innd::filter_art'?
On reload, we just unload 'Filter_innd' and load it again.
I still do not know what to do for startup_innd.pl; the name space would 
not be the same.

-- 
Julien ÉLIE

« Vita breuis, ars longa, occasio praeceps, experimentum pericolosum,
   iudicium difficile. » (Hippocrate)



More information about the inn-workers mailing list