From: | "Ralf S(dot) Engelschall" <rse(at)engelschall(dot)com> |
---|---|
To: | tomas(at)tuxteam(dot)de |
Cc: | pgsql-bugs(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Patch to allow C extension modules to initialize/finish |
Date: | 2006-08-03 17:04:29 |
Message-ID: | 20060803170429.GA6298@engelschall.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
On Thu, Aug 03, 2006, tomas(at)tuxteam(dot)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(at)engelschall(dot)com
www.engelschall.com
From | Date | Subject | |
---|---|---|---|
Next Message | IvankoB | 2006-08-03 20:23:59 | BUG #2562: In rules: recalculation of input expression on each access |
Previous Message | tomas | 2006-08-03 16:22:42 | Re: Patch to allow C extension modules to initialize/finish |
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2006-08-03 17:11:47 | Re: Values list-of-targetlists patch for comments (was Re: [PATCHES] |
Previous Message | Csaba Nagy | 2006-08-03 17:02:17 | Re: pg_terminate_backend |