// Copyright: (c) Wolfram Gloger (1996, 1997); Guilhem Lavaux (1998)
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "thread.h"
#endif
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#include "wx/thread.h"
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <sys/wait.h>
#include <sys/prctl.h>
-#include "wx/thread.h"
#include "wx/module.h"
#include "wx/utils.h"
#include "wx/log.h"
}
// Global initialization
-class wxThreadModule : public wxModule {
- DECLARE_DYNAMIC_CLASS(wxThreadModule)
+
+class wxThreadModule : public wxModule
+{
public:
- virtual bool OnInit() {
+ virtual bool OnInit();
+ virtual void OnExit();
+
+private:
+ DECLARE_DYNAMIC_CLASS(wxThreadModule)
+};
+
+IMPLEMENT_DYNAMIC_CLASS(wxThreadModule, wxModule)
+
+bool wxThreadModule::OnInit()
+{
wxMainMutex = new wxMutex();
wxThreadGuiInit();
p_mainid = (int)getpid();
wxMainMutex->Lock();
- }
+ return TRUE;
+}
- virtual void OnExit() {
+void wxThreadModule::OnExit()
+{
wxMainMutex->Unlock();
wxThreadGuiExit();
delete wxMainMutex;
- }
-};
+}
-IMPLEMENT_DYNAMIC_CLASS(wxThreadModule, wxModule)