< prev index next >

src/share/vm/gc/shared/concurrentGCThread.cpp

Print this page
rev 10297 : [mq]: webrev.01
rev 10298 : [mq]: webrev.02

*** 35,50 **** ConcurrentGCThread::ConcurrentGCThread() : _should_terminate(false), _has_terminated(false) { }; ! void ConcurrentGCThread::create_and_start() { if (os::create_thread(this, os::cgc_thread)) { // XXX: need to set this to low priority // unless "aggressive mode" set; priority // should be just less than that of VMThread. ! os::set_priority(this, NearMaxPriority); if (!_should_terminate && !DisableStartThread) { os::start_thread(this); } } } --- 35,50 ---- ConcurrentGCThread::ConcurrentGCThread() : _should_terminate(false), _has_terminated(false) { }; ! void ConcurrentGCThread::create_and_start(ThreadPriority prio) { if (os::create_thread(this, os::cgc_thread)) { // XXX: need to set this to low priority // unless "aggressive mode" set; priority // should be just less than that of VMThread. ! os::set_priority(this, prio); if (!_should_terminate && !DisableStartThread) { os::start_thread(this); } } }
*** 86,95 **** --- 86,97 ---- void ConcurrentGCThread::stop() { // it is ok to take late safepoints here, if needed { MutexLockerEx mu(Terminator_lock); + assert(!_has_terminated, "stop should only be called once"); + assert(!_should_terminate, "stop should only be called once"); _should_terminate = true; } stop_service();
< prev index next >