6983747: Remove obsolete dl_mutex lock

Unused dl_mutex lock has been removed.

Reviewed-by: hseigel, coleenp, dholmes
This commit is contained in:
Max Ockner 2015-04-02 10:12:49 -04:00
parent afa2dbda46
commit bdbad87334
2 changed files with 0 additions and 18 deletions

View file

@ -238,7 +238,6 @@ static bool check_signals = true;
static pid_t _initial_pid = 0; static pid_t _initial_pid = 0;
static int SR_signum = SIGUSR2; // Signal used to suspend/resume a thread (must be > SIGSEGV, see 4355769) static int SR_signum = SIGUSR2; // Signal used to suspend/resume a thread (must be > SIGSEGV, see 4355769)
static sigset_t SR_sigset; static sigset_t SR_sigset;
static pthread_mutex_t dl_mutex; // Used to protect dlsym() calls.
julong os::available_memory() { julong os::available_memory() {
return Aix::available_memory(); return Aix::available_memory();
@ -1479,13 +1478,8 @@ void *os::dll_load(const char *filename, char *ebuf, int ebuflen) {
return NULL; return NULL;
} }
// Glibc-2.0 libdl is not MT safe. If you are building with any glibc,
// chances are you might want to run the generated bits against glibc-2.0
// libdl.so, so always use locking for any version of glibc.
void* os::dll_lookup(void* handle, const char* name) { void* os::dll_lookup(void* handle, const char* name) {
pthread_mutex_lock(&dl_mutex);
void* res = dlsym(handle, name); void* res = dlsym(handle, name);
pthread_mutex_unlock(&dl_mutex);
return res; return res;
} }
@ -3685,7 +3679,6 @@ void os::init(void) {
Aix::_main_thread = pthread_self(); Aix::_main_thread = pthread_self();
initial_time_count = os::elapsed_counter(); initial_time_count = os::elapsed_counter();
pthread_mutex_init(&dl_mutex, NULL);
} }
// This is called _after_ the global arguments have been parsed. // This is called _after_ the global arguments have been parsed.

View file

@ -158,9 +158,6 @@ static pid_t _initial_pid = 0;
static int SR_signum = SIGUSR2; static int SR_signum = SIGUSR2;
sigset_t SR_sigset; sigset_t SR_sigset;
// Used to protect dlsym() calls
static pthread_mutex_t dl_mutex;
// Declarations // Declarations
static void unpackTime(timespec* absTime, bool isAbsolute, jlong time); static void unpackTime(timespec* absTime, bool isAbsolute, jlong time);
@ -2025,14 +2022,8 @@ void * os::Linux::dll_load_in_vmthread(const char *filename, char *ebuf,
return result; return result;
} }
// glibc-2.0 libdl is not MT safe. If you are building with any glibc,
// chances are you might want to run the generated bits against glibc-2.0
// libdl.so, so always use locking for any version of glibc.
//
void* os::dll_lookup(void* handle, const char* name) { void* os::dll_lookup(void* handle, const char* name) {
pthread_mutex_lock(&dl_mutex);
void* res = dlsym(handle, name); void* res = dlsym(handle, name);
pthread_mutex_unlock(&dl_mutex);
return res; return res;
} }
@ -4641,8 +4632,6 @@ void os::init(void) {
} }
// else it defaults to CLOCK_REALTIME // else it defaults to CLOCK_REALTIME
pthread_mutex_init(&dl_mutex, NULL);
// If the pagesize of the VM is greater than 8K determine the appropriate // If the pagesize of the VM is greater than 8K determine the appropriate
// number of initial guard pages. The user can change this with the // number of initial guard pages. The user can change this with the
// command line arguments, if needed. // command line arguments, if needed.