#include "wx/intl.h"
 #include "wx/dynarray.h"
 #include "wx/timer.h"
+#include "wx/stopwatch.h"
 
 #include <stdio.h>
 #include <unistd.h>
         //       only call one thread function at a time :-(
         DeleteThread(this);
     }
+    else
+    {
+        m_critsect.Enter();
+        m_internal->SetState(STATE_EXITED);
+        m_critsect.Leave();
+    }
 
     // terminate the thread (pthread_exit() never returns)
     pthread_exit(status);