aboutsummaryrefslogtreecommitdiff
path: root/src/backend/port/dynloader/linux.h
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2001-05-14 21:45:53 +0000
committerPeter Eisentraut <peter_e@gmx.net>2001-05-14 21:45:53 +0000
commitc87bc779d4e9f109e92f8b8f1dfad5d6739f8e97 (patch)
treecb502e5b3f8fd78964d30d675384ab42d211823c /src/backend/port/dynloader/linux.h
parent83966889ed1ee662e70b8003087351b0074ae9f7 (diff)
downloadpostgresql-c87bc779d4e9f109e92f8b8f1dfad5d6739f8e97.tar.gz
postgresql-c87bc779d4e9f109e92f8b8f1dfad5d6739f8e97.zip
Use RTLD_GLOBAL flag for dlopen-style dynamic loaders.
Diffstat (limited to 'src/backend/port/dynloader/linux.h')
-rw-r--r--src/backend/port/dynloader/linux.h21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/backend/port/dynloader/linux.h b/src/backend/port/dynloader/linux.h
index 64807b036fb..d6873763b4b 100644
--- a/src/backend/port/dynloader/linux.h
+++ b/src/backend/port/dynloader/linux.h
@@ -1,13 +1,12 @@
/*-------------------------------------------------------------------------
*
- * port_protos.h
- * port-specific prototypes for Linux
+ * Dynamic loader interface for Linux
*
*
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: linux.h,v 1.11 2001/02/10 02:31:26 tgl Exp $
+ * $Id: linux.h,v 1.12 2001/05/14 21:45:53 petere Exp $
*
*-------------------------------------------------------------------------
*/
@@ -15,13 +14,13 @@
#define PORT_PROTOS_H
#include "utils/dynamic_loader.h"
-#ifdef __ELF__
+#ifdef HAVE_DLOPEN
#include <dlfcn.h>
#endif
-/* dynloader.c */
-#ifndef __ELF__
+#ifndef HAVE_DLOPEN
+
#ifndef HAVE_DLD_H
#define pg_dlsym(handle, funcname) (NULL)
#define pg_dlclose(handle) ({})
@@ -29,14 +28,14 @@
#define pg_dlsym(handle, funcname) ((PGFunction) dld_get_func((funcname)))
#define pg_dlclose(handle) ({ dld_unlink_by_file(handle, 1); free(handle); })
#endif
-#else
-/* #define pg_dlopen(f) dlopen(f, 1) */
-#define pg_dlopen(f) dlopen(f, 2)
+
+#else /* HAVE_DLOPEN */
+
+#define pg_dlopen(f) dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
#define pg_dlsym dlsym
#define pg_dlclose dlclose
#define pg_dlerror dlerror
-#endif
-/* port.c */
+#endif /* HAVE_DLOPEN */
#endif /* PORT_PROTOS_H */