src/os/bsd/vm/os_bsd.cpp

changeset 6513
bbfbe9b06038
parent 6472
2b8e28fdf503
parent 6326
d1621038becf
child 6518
62c54fcc0a35
     1.1 --- a/src/os/bsd/vm/os_bsd.cpp	Mon Mar 10 12:58:02 2014 +0100
     1.2 +++ b/src/os/bsd/vm/os_bsd.cpp	Thu Mar 13 14:57:01 2014 -0700
     1.3 @@ -1557,6 +1557,17 @@
     1.4  }
     1.5  #endif /* !__APPLE__ */
     1.6  
     1.7 +void* os::get_default_process_handle() {
     1.8 +#ifdef __APPLE__
     1.9 +  // MacOS X needs to use RTLD_FIRST instead of RTLD_LAZY
    1.10 +  // to avoid finding unexpected symbols on second (or later)
    1.11 +  // loads of a library.
    1.12 +  return (void*)::dlopen(NULL, RTLD_FIRST);
    1.13 +#else
    1.14 +  return (void*)::dlopen(NULL, RTLD_LAZY);
    1.15 +#endif
    1.16 +}
    1.17 +
    1.18  // XXX: Do we need a lock around this as per Linux?
    1.19  void* os::dll_lookup(void* handle, const char* name) {
    1.20    return dlsym(handle, name);

mercurial