Good meeting! We got farther through the chapter than I had expected, in fact almost finished it.
Here's my explanation of how to nest calls to
bracket in order to allow for multiple blocking
before steps:
This is needed because any setup step that blocks can be interrupted even in a mask. So, in order to make sure that if the second blocking step is interrupted, the first one (which has succeeded at that point) must be rolled back.
We decided not to continue with the chapter the next time, but to finish the the last few pages on our own. Instead, we'll go on to the next chapter on Software Transactional Memory.
However, it's going to be a few months. See the separate announcement.