comparison src/share/vm/runtime/thread.cpp @ 286:3529d0e8d09c

6608862: segv in JvmtiEnvBase::check_for_periodic_clean_up() Reviewed-by: dholmes, dcubed, jcoomes
author xlu
date Fri, 15 Aug 2008 10:08:20 -0700
parents d95b224e9f17
children b33eef719520 5d254928c888
comparison
equal deleted inserted replaced
285:51ae48d8072f 286:3529d0e8d09c
2754 } 2754 }
2755 // Someday we could have a table or list of all non-JavaThreads. 2755 // Someday we could have a table or list of all non-JavaThreads.
2756 // For now, just manually iterate through them. 2756 // For now, just manually iterate through them.
2757 tc->do_thread(VMThread::vm_thread()); 2757 tc->do_thread(VMThread::vm_thread());
2758 Universe::heap()->gc_threads_do(tc); 2758 Universe::heap()->gc_threads_do(tc);
2759 tc->do_thread(WatcherThread::watcher_thread()); 2759 {
2760 // Grab the Terminator_lock to prevent watcher_thread from being terminated.
2761 MutexLockerEx mu(Terminator_lock, Mutex::_no_safepoint_check_flag);
2762 WatcherThread *wt = WatcherThread::watcher_thread();
2763 if (wt != NULL)
2764 tc->do_thread(wt);
2765 }
2760 // If CompilerThreads ever become non-JavaThreads, add them here 2766 // If CompilerThreads ever become non-JavaThreads, add them here
2761 } 2767 }
2762 2768
2763 jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) { 2769 jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
2764 2770