]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/threadno.cpp
wxSplitPath() bugs corrected and it's documented
[wxWidgets.git] / src / gtk / threadno.cpp
index 3a1f3460c79ef1eebda8b8ab04a806ac84278126..72994404561dc15534cf8ad07fd9fe1d8f0e882a 100644 (file)
@@ -1,7 +1,7 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        thread.cpp
-// Purpose:     No thread support
-// Author:      Original from Wolfram Gloger/Guilhem Lavaux
+// Purpose:     Solaris thread support
+// Author:      Guilhem Lavaux
 // Modified by:
 // Created:     04/22/98
 // RCS-ID:      $Id$
@@ -15,6 +15,7 @@
 #include "wx/wx.h"
 #include "wx/module.h"
 #include "wx/thread.h"
+#include "wx/log.h"
 
 wxMutex::wxMutex()
 {
@@ -24,29 +25,29 @@ wxMutex::wxMutex()
 wxMutex::~wxMutex()
 {
   if (m_locked)
-    wxDebugMsg("wxMutex warning: destroying a locked mutex (%d locks)\n", m_locked);
+    wxLogDebug( "wxMutex warning: destroying a locked mutex (%d locks)\n", m_locked );
 }
 
 wxMutexError wxMutex::Lock()
 {
   m_locked++;
-  return MUTEX_NO_ERROR;
+  return wxMUTEX_NO_ERROR;
 }
 
 wxMutexError wxMutex::TryLock()
 {
   if (m_locked > 0)
-    return MUTEX_BUSY;
+    return wxMUTEX_BUSY;
   m_locked++;
-  return MUTEX_NO_ERROR;
+  return wxMUTEX_NO_ERROR;
 }
 
 wxMutexError wxMutex::Unlock()
 {
   if (m_locked == 0)
-    return MUTEX_UNLOCKED;
+    return wxMUTEX_UNLOCKED;
   m_locked--;
-  return MUTEX_NO_ERROR;
+  return wxMUTEX_NO_ERROR;
 }
 
 wxCondition::wxCondition()
@@ -84,22 +85,22 @@ wxThreadError wxThread::Create()
 {
   p_internal->exit_status = Entry();
   OnExit();
-  return THREAD_NO_ERROR;
+  return wxTHREAD_NO_ERROR;
 }
 
 wxThreadError wxThread::Destroy()
 {
-  return THREAD_NOT_RUNNING;
+  return wxTHREAD_NOT_RUNNING;
 }
 
 wxThreadError wxThread::Pause()
 {
-  return THREAD_NOT_RUNNING;
+  return wxTHREAD_NOT_RUNNING;
 }
 
 wxThreadError wxThread::Resume()
 {
-  return THREAD_NOT_RUNNING;
+  return wxTHREAD_NOT_RUNNING;
 }
 
 void wxThread::DeferDestroy( bool WXUNUSED(on) )
@@ -138,7 +139,7 @@ bool wxThread::IsAlive() const
 void wxThread::SetPriority(int WXUNUSED(prio)) { }
 int wxThread::GetPriority() const { return 0; }
 
-wxMutex wxMainMutex; // controls access to all GUI functions
+wxMutex *wxMainMutex; // controls access to all GUI functions
 
 wxThread::wxThread()
 {
@@ -159,22 +160,27 @@ void wxThread::OnExit()
 }
 
 
-// Automatic initialization
-class wxThreadModule : public wxModule {
-  DECLARE_DYNAMIC_CLASS(wxThreadModule)
-public:
-  bool OnInit();
-  void OnExit();
-};
+IMPLEMENT_DYNAMIC_CLASS(wxThreadModule, wxModule)
 
-bool wxThreadModule::OnInit() {
-  wxMainMutex.Lock();
+bool wxThreadModule::OnInit() 
+{
+  wxMainMutex = new wxMutex();
+  wxMainMutex->Lock();
   return TRUE;
 }
 
 void wxThreadModule::OnExit()
 {
-  wxMainMutex.Unlock();
+  wxMainMutex->Unlock();
+  delete wxMainMutex;
 }
 
-IMPLEMENT_DYNAMIC_CLASS(wxThreadModule, wxModule)
+
+
+void wxMutexGuiEnter()
+{
+}
+
+void wxMutexGuiLeave()
+{
+}