blocks new operations from starting , waits for the current ones to drain . if someone already called it , returns immediately , which is currently unavoidable as most of the users stop and close things right and left , and hope for the best . stopandwaitforopsonce asserts instead . concode_field_sep long DRAINING_FLAG concode_elem_sep AtomicLong valueAndFlags concode_elem_sep int FLAG_BIT_COUNT concode_field_sep boolean isDraining concode_elem_sep void stopAndDrainOpsOnce concode_elem_sep long getValue concode_elem_sep boolean beginOp concode_elem_sep long dec concode_elem_sep void endOp concode_elem_sep long inc
void function ( ) { stopAndDrainOps ( true ) ; }