creates and starts a new blocker thread . does n't return until the new blocker thread starts . concode_field_sep Map peerMap concode_elem_sep AWTAutoShutdown theInstance concode_elem_sep boolean toolkitThreadBusy concode_elem_sep Object activationLock concode_elem_sep Thread blockerThread concode_elem_sep Object mainLock concode_elem_sep HashSet busyThreadSet concode_elem_sep boolean timeoutPassed concode_elem_sep int SAFETY_TIMEOUT concode_field_sep AWTEvent getShutdownEvent concode_elem_sep void unregisterPeer concode_elem_sep void notifyToolkitThreadFree concode_elem_sep void notifyThreadFree concode_elem_sep void run concode_elem_sep boolean isReadyToShutdown concode_elem_sep void notifyPeerMapUpdated concode_elem_sep void registerPeer concode_elem_sep void notifyToolkitThreadBusy concode_elem_sep void notifyThreadBusy concode_elem_sep AWTAutoShutdown getInstance concode_elem_sep Object getPeer concode_elem_sep void setToolkitBusy concode_elem_sep void dumpPeers
void function ( ) { Thread loc0 = new Thread ( this , "srini_string" ) ; loc0 . setDaemon ( false ) ; blockerThread = loc0 ; loc0 . start ( ) ; try { mainLock . wait ( ) ; } catch ( InterruptedException loc1 ) { System . err . println ( "srini_string" ) ; loc1 . printStackTrace ( ) ; } }