]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/thread.h
Fixed OS/2 compilation problems.
[wxWidgets.git] / include / wx / thread.h
index ff86535a78629a524d206ea4f790d987d5849eea..7dd5cfa6212558f56a0b1c83ab69e6eaf5bf77e8 100644 (file)
@@ -99,8 +99,6 @@ public:
     bool IsLocked() const { return (m_locked > 0); }
 
 protected:
     bool IsLocked() const { return (m_locked > 0); }
 
 protected:
-    friend class wxCondition;
-
     // no assignment operator nor copy ctor
     wxMutex(const wxMutex&);
     wxMutex& operator=(const wxMutex&);
     // no assignment operator nor copy ctor
     wxMutex(const wxMutex&);
     wxMutex& operator=(const wxMutex&);
@@ -234,9 +232,14 @@ public:
     // signal the condition
         // wakes up one (and only one) of the waiting threads
     void Signal();
     // signal the condition
         // wakes up one (and only one) of the waiting threads
     void Signal();
-        // wakes up all threads waiting onthis condition
+        // wakes up all threads waiting on this condition
     void Broadcast();
 
     void Broadcast();
 
+#ifdef __WXDEBUG__
+    // for debugging purposes only
+    void *GetId() const { return m_internal; }
+#endif // __WXDEBUG__
+
 private:
     wxConditionInternal *m_internal;
 };
 private:
     wxConditionInternal *m_internal;
 };
@@ -254,6 +257,13 @@ private:
 //     created by the wxThread object while "main thread" is the thread created
 //     during the process initialization (a.k.a. the GUI thread)
 
 //     created by the wxThread object while "main thread" is the thread created
 //     during the process initialization (a.k.a. the GUI thread)
 
+// On VMS thread pointers are 64 bits (also needed for other systems???
+#ifdef __VMS
+   typedef unsigned long long wxThreadIdType;
+#else
+   typedef unsigned long wxThreadIdType;
+#endif
+
 class wxThreadInternal;
 class WXDLLEXPORT wxThread
 {
 class wxThreadInternal;
 class WXDLLEXPORT wxThread
 {
@@ -289,7 +299,7 @@ public:
         // Get the platform specific thread ID and return as a long.  This
         // can be used to uniquely identify threads, even if they are not
         // wxThreads.  This is used by wxPython.
         // Get the platform specific thread ID and return as a long.  This
         // can be used to uniquely identify threads, even if they are not
         // wxThreads.  This is used by wxPython.
-    static unsigned long GetCurrentId();
+   static wxThreadIdType GetCurrentId();
 
         // sets the concurrency level: this is, roughly, the number of threads
         // the system tries to schedule to run in parallel. 0 means the
 
         // sets the concurrency level: this is, roughly, the number of threads
         // the system tries to schedule to run in parallel. 0 means the
@@ -376,11 +386,7 @@ public:
 
     // Get the thread ID - a platform dependent number which uniquely
     // identifies a thread inside a process
 
     // Get the thread ID - a platform dependent number which uniquely
     // identifies a thread inside a process
-#ifdef __VMS
-   unsigned long long GetId() const;
-#else
-   unsigned long GetId() const;
-#endif
+    wxThreadIdType GetId() const;
 
     // called when the thread exits - in the context of this thread
     //
 
     // called when the thread exits - in the context of this thread
     //