tags:

views:

84

answers:

1

I've googled for the error above; no use.

This error comes form the following line of code:

void Thread::join(void** status) {
  pthread_join(thread, status);
}

Anyone has any idea what it means?

(Google brings up other ppl complainig about the error, but no explaingion of it).

+2  A: 

Ref http://www.opensource.apple.com/source/libstdcxx/libstdcxx-5.1/libstdcxx/libstdc++-v3/libsupc++/guard.cc:

namespace __gnu_cxx
{
  // 6.7[stmt.dcl]/4: If control re-enters the declaration (recursively)
  // while the object is being initialized, the behavior is undefined.

  // Since we already have a library function to handle locking, we might
  // as well check for this situation and throw an exception.
  // We use the second byte of the guard variable to remember that we're
  // in the middle of an initialization.
  class recursive_init: public std::exception

....

  static int
  acquire_1 (__guard *g)
  {
    if (_GLIBCXX_GUARD_TEST (g))
      return 0;

    if (recursion_push (g))
      {
#ifdef __EXCEPTIONS
    throw __gnu_cxx::recursive_init();
  ...

Please check if there is some static variables that need themselves to be initialized first.

KennyTM
This fixed my problem. Thank you!
anon