Re: maybe-commit fails unconditionally

Taylor R Campbell <[email protected]> Sat, 24 Oct 2009 13:33:16 -0400
Newsgroups gmane.lisp.scheme.scheme48
Message-ID <[email protected]>
   Date: Sat, 24 Oct 2009 07:39:31 -0700
   From: Robert Ransom <[email protected]>

   maybe-commit clears the current proposal, whether the commit succeeds or
   fails:

   [...]

   The assertion-violation is produced by the call to maybe-commit within
   call-ensuring-atomicity, the function which ensure-atomicity wraps.

You're not supposed to use MAYBE-COMMIT inside ENSURE-ATOMICITY (or
ATOMICALLY, or any variants thereof).  These commit the proposal for
you; if you need to take a different action depending on whether the
commit succeeded or failed, you must set up the proposal yourself, or
use WITH-NEW-PROPOSAL, which also sets up a procedure to retry the
transaction.

What are you doing for which you think you need to use MAYBE-COMMIT?