chickadee » hopefully » call-with-transaction

call-with-transaction PROCprocedure
call-with-transaction/values PROCprocedure

Call PROC with one argument, a fresh (lightweight) transaction. PROC may be called multiple times in case of a conflict. (See hopefully-current for the difference to heavy transactions).

Returns whatever PROC returns. Use call-with-transaction for multiple value returns call-with-transaction/values returns all values.

Note: One should not pass the transaction argument around among threads or capture it. Most (if not all) resulting conditions should be handled. But it is no good idea.