Re: [BUGS] Patch to allow C extension modules to initialize/finish
От | Ralf S. Engelschall |
---|---|
Тема | Re: [BUGS] Patch to allow C extension modules to initialize/finish |
Дата | |
Msg-id | 20060803170429.GA6298@engelschall.com обсуждение исходный текст |
Ответ на | Re: [BUGS] Patch to allow C extension modules to initialize/finish (tomas@tuxteam.de) |
Список | 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 по дате отправления: