Compilation with gcc 4.6.0
julien at trigofacile.com
Mon Jun 13 16:39:15 UTC 2011
> 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:
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.
« Vita breuis, ars longa, occasio praeceps, experimentum pericolosum,
iudicium difficile. » (Hippocrate)
More information about the inn-workers