Skip to content
Snippets Groups Projects
  • Hanna Reitz's avatar
    079bff69
    transactions: Invoke clean() after everything else · 079bff69
    Hanna Reitz authored
    
    Invoke the transaction drivers' .clean() methods only after all
    .commit() or .abort() handlers are done.
    
    This makes it easier to have nested transactions where the top-level
    transactions pass objects to lower transactions that the latter can
    still use throughout their commit/abort phases, while the top-level
    transaction keeps a reference that is released in its .clean() method.
    
    (Before this commit, that is also possible, but the top-level
    transaction would need to take care to invoke tran_add() before the
    lower-level transaction does.  This commit makes the ordering
    irrelevant, which is just a bit nicer.)
    
    Signed-off-by: default avatarHanna Reitz <hreitz@redhat.com>
    Message-Id: <20211111120829.81329-8-hreitz@redhat.com>
    Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    Message-Id: <20211115145409.176785-8-kwolf@redhat.com>
    Signed-off-by: default avatarHanna Reitz <hreitz@redhat.com>
    079bff69
    History
    transactions: Invoke clean() after everything else
    Hanna Reitz authored
    
    Invoke the transaction drivers' .clean() methods only after all
    .commit() or .abort() handlers are done.
    
    This makes it easier to have nested transactions where the top-level
    transactions pass objects to lower transactions that the latter can
    still use throughout their commit/abort phases, while the top-level
    transaction keeps a reference that is released in its .clean() method.
    
    (Before this commit, that is also possible, but the top-level
    transaction would need to take care to invoke tran_add() before the
    lower-level transaction does.  This commit makes the ordering
    irrelevant, which is just a bit nicer.)
    
    Signed-off-by: default avatarHanna Reitz <hreitz@redhat.com>
    Message-Id: <20211111120829.81329-8-hreitz@redhat.com>
    Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    Message-Id: <20211115145409.176785-8-kwolf@redhat.com>
    Signed-off-by: default avatarHanna Reitz <hreitz@redhat.com>