src/hotspot/os/solaris/os_solaris.cpp
changeset 59105 76ae9aa0e794
parent 59060 fce1fa1bdc91
child 59251 4cbfa5077d68
equal deleted inserted replaced
59104:046e4024e55a 59105:76ae9aa0e794
  4923   // In particular a thread must never block on the Threads_lock while
  4923   // In particular a thread must never block on the Threads_lock while
  4924   // holding the Parker:: mutex.  If safepoints are pending both the
  4924   // holding the Parker:: mutex.  If safepoints are pending both the
  4925   // the ThreadBlockInVM() CTOR and DTOR may grab Threads_lock.
  4925   // the ThreadBlockInVM() CTOR and DTOR may grab Threads_lock.
  4926   ThreadBlockInVM tbivm(jt);
  4926   ThreadBlockInVM tbivm(jt);
  4927 
  4927 
       
  4928   // Can't access interrupt state now that we are _thread_blocked. If we've
       
  4929   // been interrupted since we checked above then _counter will be > 0.
       
  4930 
  4928   // Don't wait if cannot get lock since interference arises from
  4931   // Don't wait if cannot get lock since interference arises from
  4929   // unblocking.  Also. check interrupt before trying wait
  4932   // unblocking.
  4930   if (jt->is_interrupted(false) ||
  4933   if (os::Solaris::mutex_trylock(_mutex) != 0) {
  4931       os::Solaris::mutex_trylock(_mutex) != 0) {
       
  4932     return;
  4934     return;
  4933   }
  4935   }
  4934 
  4936 
  4935   int status;
  4937   int status;
  4936 
  4938