obtains an xlock on the block , if necessary . if the transaction does not have an xlock on that block , then the method first gets an slock on that block if necessary , and then upgrades it to an xlock . concode_field_sep LockTable locktbl concode_elem_sep Map<Block,String> locks concode_field_sep void sLock concode_elem_sep void release concode_elem_sep boolean hasXLock
void function ( Block arg0 ) { if ( ! hasXLock ( arg0 ) ) { sLock ( arg0 ) ; locktbl . xLock ( arg0 ) ; locks . put ( arg0 , "srini_string" ) ; } }