Allow C90 to do a one-shot ATOMIC_BLOCK
Reorganize some of the code