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

From tomas@tuxteam.de
Subject Re: [BUGS] Patch to allow C extension modules to initialize/finish
Date
Msg-id 20060803162242.GC3539@www.trapp.net
Whole thread Raw
In response to Patch to allow C extension modules to initialize/finish  ("Ralf S. Engelschall" <rse@engelschall.com>)
Responses Re: [BUGS] Patch to allow C extension modules to initialize/finish
List pgsql-hackers
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?

(yeah, those nitpickers, especially those who are mostly silent
bystanders ;)

But I'd support the idea myself.

Thanks
-- tomas

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: pg_terminate_backend
Next
From: Csaba Nagy
Date:
Subject: Re: pg_terminate_backend