-Second, we only barge the other transaction if we are older. This compares start points instead of read points, so this dates back to the first attempts of each transaction, not the current retry of each. (To determine who is older, look at dates of birth, not who had the most recent birthday.) The `compareAndSet` uses an `Interlocked` method. Why might this fail? The other transaction was running just before we got here. Well, someone else may have barged it, or it may already be committing or have committed or somehow gotten aborted. In those cases, even if it might be okay to proceed, it's too hard to tell, so let's just retry (via the block-and-bail that will follow). If we do barge, we trigger the latch on the other transaction's `LTInfo` on our way out. More on this in a minute (actually, 100 milliseconds).
0 commit comments