Critical, atomic, and STM ideas
- $SLUSH_LEVEL += 4;
Traits on blocks and subs:
is critical trait -- blocks that shouldn't be interrupted or suspended
sub xyz is critical {
# stuff to be done that shouldn't be interrupted
}
is atomic trait -- blocks that won't perform irreversible actions
sub transaction is atomic { ... }