On Thu, Jan 28, 2010 at 11:02:23PM -0500, Andrew Dunstan wrote:
>
>
> Tim Bunce wrote:
> >This is an updated version of the third of the patches to be split out
> >from the former 'plperl feature patch 1'.
> >
> >It includes changes following discussions with Tom Lane and others.
> >
> >Changes in this patch:
> >
> >- Added plperl.on_perl_init GUC for DBA use (PGC_SIGHUP)
> > SPI functions are not available when the code is run.
> >
> >- Added interpreter destruction behaviour
> > Hooked via on_proc_exit().
> > Only has any effect for normal shutdown.
> > END blocks, if any, are run then objects are
> > destroyed, calling their DESTROY methods, if any.
> > SPI functions will die if called at this time.
>
> This patch is giving me a build error on Windows:
>
> undefined reference to `Perl_sv_clean_objs'
Ah, phooey. That's technically a private function so isn't exported on
platforms that support selective exporting.
The options are either to go back to calling perl_destruct(), which
would then require careful auditing of what perl_destruct actually does,
or do simply not bother destroying objects.
I'm going to go for the latter. Time is short and calling END blocks is
still a major step forward. (Anyone who needs objects destroyed can
probably arrange that themselves via an END block.)
Updated patch to follow...
Tim.