add xchg lock