Re: AW: fmgr changes not yet ported to AIX

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Zeugswetter Andreas SB <ZeugswetterA(at)wien(dot)spardat(dot)at>
Cc: "'pgsql-hackers(at)postgresql(dot)org'" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: AW: fmgr changes not yet ported to AIX
Date: 2000-07-17 04:55:06
Message-ID: 27996.963809706@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Zeugswetter Andreas SB <ZeugswetterA(at)wien(dot)spardat(dot)at> writes:
> Why do you declare dlopen, dlsym, ... in dynamic_loader.h ?
> They are defined in the port specific dynloader.h .
> Why do you use "void pg_dlclose" when dlclose is "int dlclose" ?
> This makes a wrapper function necessary.

It seems to me that the real problem here is that someone tried to
take shortcuts in the AIX dynloader code. Instead of implementing
the same interface that the rest of the ports support, the AIX files
try to force their own definition of the pg_dlXXX functions --- and
for what? To save a wrapper function? These are hardly performance-
critical routines, so I don't see the point.

I propose the following changes instead. I don't have any way to
test them however --- would you check them?

regards, tom lane

*** aix.h~ Mon Jul 17 00:40:12 2000
--- aix.h Mon Jul 17 00:41:34 2000
***************
*** 45,56 ****

#ifdef __cplusplus
}
-
#endif
-
- #define pg_dlopen(f) dlopen(filename, RTLD_LAZY)
- #define pg_dlsym(h,f) dlsym(h, f)
- #define pg_dlclose(h) dlclose(h)
- #define pg_dlerror() dlerror()

#endif /* __dlfcn_h__ */
--- 45,50 ----
*** aix.c~ Mon Jul 17 00:40:19 2000
--- aix.c Mon Jul 17 00:45:34 2000
***************
*** 601,603 ****
--- 601,631 ----
free(buf);
return ret;
}
+
+ /*
+ * PostgreSQL interface to the above functions
+ */
+
+ void *
+ pg_dlopen(char *filename)
+ {
+ return dlopen(filename, RTLD_LAZY);
+ }
+
+ PGFunction
+ pg_dlsym(void *handle, char *funcname)
+ {
+ return (PGFunction) dlsym(handle, funcname);
+ }
+
+ void
+ pg_dlclose(void *handle)
+ {
+ dlclose(h);
+ }
+
+ char *
+ pg_dlerror()
+ {
+ return dlerror();
+ }

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Philip Warner 2000-07-17 06:21:56 Should PG backend know how to represent metadata?
Previous Message Tom Lane 2000-07-17 04:23:08 Re: macaddr type (fwd)