diff options
Diffstat (limited to 'src/backend/port/dynloader/linux.h')
-rw-r--r-- | src/backend/port/dynloader/linux.h | 21 |
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 */ |