I assume you are referring to http://www.nongnu.org/avr-libc/user-manual/group__util__atomic.html
Yes, that's correct.
I am porting some Arduino/AVR code over to a Maple 5, and since the ATOMIC_BLOCK macro wasn't defined in the Maple ARM compiler environment, I did a bit digging to see what the equivalent was, but couldn't find anything definitive. It did make me appreciate that the ARM interrupt architecture is far more complex than the much simpler AVR model, though.
The macro basically turns off external interrupts while the code block executes, in case there is some undesirable effect an interrupt at that point might cause. The ATOMIC_RESTORE_STATE option is just fancy wrapping for (pseudocode)
original_state = int_enabled_register_bit<br />
cli()
<non interrupt code block here>
if (original_state == enabled) sei()
I use it from time to time in a variety of situations, typically doing things like assigning values to a set of variables that would be inconsistent if an external interrupt service routine were to find them in a state where some variables had been changed but not the others -- stuff like that. Just anywhere that I have identified a critical section that I want to lock out any interrupts until complete.