http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60645
--- Comment #3 from Chris Johns <chris at contemporary dot net.au> --- Yes I agree the error should not happen in this case. I apologise as I should have looked for a better example to highlight the issue being discussed in the RTEMS project. I also agree the handling of any error is a problem. In libsupc++/atexit_thread.cc:91 the once is ok, the key create however can return EAGAIN in the RTEMS case. Being an embedded system we allow resources to be set and limited by users so any error being silently ignored like this is a concern.