Hi Jeffrey, > > call_once, being implemented on top of pthread_once in Cygwin, is affected > > by the same bug, and needs a workaround as well. > > Be careful of call_once. Be sure to test it on non-x86 machines.
Cygwin exists only for x86. I've run a testdir of all of gnulib on various Linux/<arch> machines in the past, for various <arch>, and did not notice test failures of the pthread_once or call_once tests. (I do remember test failures of floating-point operations.) > See bugs like <https://sourceware.org/bugzilla/show_bug.cgi?id=18435> > and <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146>. It is far-fetched to expect exception handling to be done in pthread_once or call_once. Sane C++ application writers will catch exceptions in the init_routine themselves. Bruno