Re: [BUGS] Patch to allow C extension modules to initialize/finish - Mailing list pgsql-hackers

From Ralf S. Engelschall
Subject Re: [BUGS] Patch to allow C extension modules to initialize/finish
Date
Msg-id 20060803170429.GA6298@engelschall.com
Whole thread Raw
In response to Re: [BUGS] Patch to allow C extension modules to initialize/finish  (tomas@tuxteam.de)
List pgsql-hackers
On Thu, Aug 03, 2006, tomas@tuxteam.de wrote:

> On Wed, Aug 02, 2006 at 09:04:11PM +0200, Ralf S. Engelschall wrote:
> > PostgreSQL provides a way to load C extension modules with its internal
> > FMGR. Unfortunately there is no portable way for an extension module to
> > initialize (directly after the pg_dlopen() of the DSO) and to finish
> > (directly before the pg_dlclose() of the DSO). [...]
>
> Cool, but...
> [...]
>
> > +
> > +            /* optionally give the DSO a chance to finish by calling
> > +               a PostgreSQL-specific (and this way portable) "_PG_fini"
> > +               function similar to what dlopen(3) implicitly does with
> > +               "_fini" on some Unix platforms. */
> > +            if ((PG_fini = (PG_init_t *)pg_dlsym(file_scanner->handle, "_PG_fini")) != NULL)
>                                         ^^^^^^^^^
> > +                (*PG_fini)();
> > +
> >              pg_dlclose(file_scanner->handle);
> >              free((char *) file_scanner);
> >              /* prv does not change */
>
> shouldn't that be PG_fini_t?

Ops, good catch. Yes, "PG_fini_t", of course.
                                      Ralf S. Engelschall                                      rse@engelschall.com
                               www.engelschall.com
 



pgsql-hackers by date:

Previous
From: "Merlin Moncure"
Date:
Subject: Re: 8.2 features status
Next
From: Tom Lane
Date:
Subject: Re: ecpg test suite