Monero
Loading...
Searching...
No Matches
MDB_rxbody Struct Reference

Public Attributes

volatile txnid_t mrb_txnid
volatile MDB_PID_T mrb_pid
volatile MDB_THR_T mrb_tid

Detailed Description

The information we store in a single slot of the reader table. In addition to a transaction ID, we also record the process and thread ID that owns a slot, so that we can detect stale information, e.g. threads or processes that went away without cleaning up.

Note
We currently don't check for stale records. We simply re-init the table when we know that we're the only process opening the lock file.

Member Data Documentation

◆ mrb_pid

volatile MDB_PID_T MDB_rxbody::mrb_pid

The process ID of the process owning this reader txn.

◆ mrb_tid

volatile MDB_THR_T MDB_rxbody::mrb_tid

The thread ID of the thread owning this txn.

◆ mrb_txnid

volatile txnid_t MDB_rxbody::mrb_txnid

Current Transaction ID when this transaction began, or (txnid_t)-1. Multiple readers that start at the same time will probably have the same ID here. Again, it's not important to exclude them from anything; all we need to know is which version of the DB they started from so we can avoid overwriting any data used in that particular version.


The documentation for this struct was generated from the following file: