18 dbg() <<
"START" << transactionDepth;
29 dbg() <<
"ADD" << transactionDepth << id;
31 if (transactionDepth > 0) {
32 lastInTransaction = id;
34 transactionQueue.emplace(
id,
id);
44 dbg() <<
"END" << transactionDepth;
46 if (transactionDepth > 0) {
48 if (transactionDepth == 0 && lastInTransaction != INVALID) {
49 transactionQueue.emplace(lastInTransaction, pid);
50 lastInTransaction = INVALID;
62 dbg() <<
"OVER" << transactionDepth << id;
64 if (!transactionQueue.empty() &&
id == transactionQueue.front().first) {
65 PROCESS ret = transactionQueue.front().second;
66 transactionQueue.pop();
auto transactionIsOver(Enums::PROCESS) -> Enums::PROCESS
transactionIsOver checks wheather currently finished process is last in current transaction
void transactionEnd(Enums::PROCESS)
transactionEnd marks end of transaction
void transactionAdd(Enums::PROCESS)
transactionAdd If called after call to transactionStart() and before transactionEnd(),...
void transactionStart()
transactionStart this function is used to mark start of the sequence of processes that shall be treat...