Lines Matching refs:commit
167 * during commit this will be a TXN_DETAIL visible_lsn field, and MVCC
207 * that the record we already put is a commit, so we don't just
258 * If the send fails and we're a commit or checkpoint,
286 * are only permissible if we know we haven't written a commit
502 * If a flush supporting a transaction commit fails, we must abort the
503 * transaction. (If we aren't doing a commit, return the failure; if
504 * if the commit we care about made it to disk successfully, we just
505 * ignore the failure, because there's no way to undo the commit.)
514 * Else, make sure that the commit record does not get out after we
515 * abort the transaction. Do this by overwriting the commit record
519 * commit. We must then try and flush the buffer again, since the
880 struct __db_commit *commit;
930 if ((commit = SH_TAILQ_FIRST(
933 sizeof(struct __db_commit), &commit)) != 0)
935 memset(commit, 0, sizeof(*commit));
937 DB_MUTEX_SELF_BLOCK, &commit->mtx_txnwait)) != 0) {
938 __env_alloc_free(&dblp->reginfo, commit);
941 MUTEX_LOCK(env, commit->mtx_txnwait);
944 &lp->free_commits, commit, links, __db_commit);
955 commit->lsn = flush_lsn;
957 &lp->commits, commit, links, __db_commit);
960 MUTEX_LOCK(env, commit->mtx_txnwait);
966 * we need to flush the log to commit. If so,
969 do_flush = F_ISSET(commit, DB_COMMIT_FLUSH);
970 F_CLR(commit, DB_COMMIT_FLUSH);
972 &lp->free_commits, commit, links, __db_commit);
1070 SH_TAILQ_FOREACH(commit, &lp->commits, links, __db_commit)
1071 if (LOG_COMPARE(&lp->s_lsn, &commit->lsn) > 0) {
1072 MUTEX_UNLOCK(env, commit->mtx_txnwait);
1074 &lp->commits, commit, links, __db_commit);
1077 F_SET(commit, DB_COMMIT_FLUSH);
1078 MUTEX_UNLOCK(env, commit->mtx_txnwait);
1080 &lp->commits, commit, links, __db_commit);