-- TransactionsPack.pack
-- Last edit by:

-- Gobbel  January 31, 1981  11:33 AM  Moved frame packs into PilotKernelFrames.pack.
-- Levin  June 1, 1982 2:51 pm  Add new TransactionExtras procedures to TransactionsInitialization


Transactions: SEGMENT =
BEGIN

RunningTransaction: CODE PACK =
   BEGIN
   TransactionLogImpl [AssureLogRoom, LogInternal];
   TransactionStateImpl [AddToTransaction, Log, MakeNode, MaybeCrash, NullProc,
                               UpdateStateFile, WithdrawFromTransaction];
   END;

AbortBeginCommitCommon: CODE PACK =
   BEGIN
   TransactionImpl [ReleaseLog, ReleaseLogInternal];
   TransactionStateImpl [FreeNode, NoMoreOperations, ReleaseTransaction];
   END;

BeginTransaction: CODE PACK =
   BEGIN
   TransactionStateImpl [Begin];
   END;

Abort: CODE PACK =
   BEGIN
   TransactionImpl [Abort, RestoreFilesInTransaction];
   END;

Commit: CODE PACK =
   BEGIN
   TransactionImpl [Commit];
   TransactionStateImpl [RecordCommit];
   END;

TransactionsInitialization: CODE PACK =
   BEGIN
   TransactionImpl [CheckState, CompareStateEdition, DisableTransactions,
                        InitializeTransactionData, MAIN, RecoverState,
                        RecoverTransactions, DoCrashRecovery,
                        TransactionsInProgress, ValidateLogFile];
   TransactionLogImpl [InitializeLogsA, InitializeLogsB, MAIN];
   TransactionStateImpl [InitializeStateA, InitializeStateB, MAIN, SetCrashProcedure];
   END;
END;