Function intel_tsx_rtm::intrinsics::_xbegin [] [src]

pub unsafe fn _xbegin() -> u32

Begin a transaction. Will raise the signal SIGILL (an illegal instruction abort) on CPUs without Intel TSX support, so be careful. Can appear to execute twice, a bit like setjmp / longjmp or fork(). If a transaction has started, then the return code is _XBEGIN_STARTED. If a transaction is committed successfully, then the return code will be zero, 0. If a transaction aborts or rolls back, execution restarts here with all memory effects undone and a return code that is not _XBEGIN_STARTED; in which case, the return code is a mix of a bit set of flags and a result code.