The GCD reference on developer.apple.com says, regarding dispatch_once_t:
"Variables of this type must have global or static scope. The result of using this type with automatic or dynamic allocation is undefined."
However, I can't find any explanation of why that would be the case, either in the documentation or the libdispatch code. Does anyone have any insight to shed on this? It's occasionally useful to have a dispatch_once_t member variable in an Objective-C object, and it would be nice to know if that's actually OK or not. I have a hard time figuring out how GCD could possibly care about the storage scope of the variable, but it's possible that I'm overlooking something.
Mike