< prev index next >

src/os/solaris/vm/threadCritical_solaris.cpp

Print this page

        

*** 46,57 **** ThreadCritical::ThreadCritical() { if (initialized) { thread_t owner = thr_self(); if (global_mut_owner != owner) { if (os::Solaris::mutex_lock(&global_mut)) ! fatal(err_msg("ThreadCritical::ThreadCritical: mutex_lock failed (%s)", ! strerror(errno))); assert(global_mut_count == 0, "must have clean count"); assert(global_mut_owner == -1, "must have clean owner"); } global_mut_owner = owner; ++global_mut_count; --- 46,57 ---- ThreadCritical::ThreadCritical() { if (initialized) { thread_t owner = thr_self(); if (global_mut_owner != owner) { if (os::Solaris::mutex_lock(&global_mut)) ! fatal("ThreadCritical::ThreadCritical: mutex_lock failed (%s)", ! strerror(errno)); assert(global_mut_count == 0, "must have clean count"); assert(global_mut_owner == -1, "must have clean owner"); } global_mut_owner = owner; ++global_mut_count;
*** 66,77 **** assert(global_mut_count > 0, "must have correct count"); --global_mut_count; if (global_mut_count == 0) { global_mut_owner = -1; if (os::Solaris::mutex_unlock(&global_mut)) ! fatal(err_msg("ThreadCritical::~ThreadCritical: mutex_unlock failed " ! "(%s)", strerror(errno))); } } else { assert (Threads::number_of_threads() == 0, "valid only during initialization"); } } --- 66,76 ---- assert(global_mut_count > 0, "must have correct count"); --global_mut_count; if (global_mut_count == 0) { global_mut_owner = -1; if (os::Solaris::mutex_unlock(&global_mut)) ! fatal("ThreadCritical::~ThreadCritical: mutex_unlock failed (%s)", strerror(errno)); } } else { assert (Threads::number_of_threads() == 0, "valid only during initialization"); } }
< prev index next >