af_transact(3) Attribute Filesystem (AtFS) af_transact(3)
af_transaction, af_commit, af_abort - a simple transaction mechanism for AtFS
int af_transaction (void)
int af_commit (void)
int af_abort (void)
These functions implement a simple transaction mechanism for AtFS. A transaction starts
with calling af_transaction. All changes to existing ASOs performed hereafter have no
immediate permanent effect. They rather get into effect, when the transaction is ended.
Calling af_commit ends the transactions and causes all changes to be saved to disk.
af_abort aborts the transaction without saving the changes. These will then be discarded.
Only modification of the state of existing source ASOs will be deferred. Creation or dele‐
tion of ASOs have immediate effect, regardless if a transaction is in effect or not. Addi‐
tionally, all operations on derived ASOs (all operations on the derived object cache) are
not affected by the transaction.
All archive files that are to be changed when the transaction is finished are locked until
the end of the transaction. The lock prevents all other applications to perform any modi‐
fications on the archive file. You should make sure, that ending a transaction should
never be dependent on the successful termination of another application (deadlock danger).
Upon error, -1 is returned and af_errno is set to the corresponding error number.
Changes to the contents of busy versions have immediate effect.
AtFS-1.71 Fri Jun 25 14:33:21 1993 af_transact(3)