X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/414c639cc20a68e7021019dbbcecfd39210fb10a..bc55104d9ab0b0b835644f17a152b4fbbfa8c7b9:/include/wx/thread.h diff --git a/include/wx/thread.h b/include/wx/thread.h index f80aa89bf5..7dd5cfa621 100644 --- a/include/wx/thread.h +++ b/include/wx/thread.h @@ -99,8 +99,6 @@ public: bool IsLocked() const { return (m_locked > 0); } protected: - friend class wxCondition; - // 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(); - // wakes up all threads waiting onthis condition + // wakes up all threads waiting on this condition void Broadcast(); +#ifdef __WXDEBUG__ + // for debugging purposes only + void *GetId() const { return m_internal; } +#endif // __WXDEBUG__ + 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) +// 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 { @@ -286,6 +296,11 @@ public: // Returns -1 if unknown, number of CPUs otherwise static int GetCPUCount(); + // 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 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 // default value (usually acceptable, but may not yield the best @@ -371,12 +386,8 @@ public: // 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 // // NB: this function will not be called if the thread is Kill()ed