summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/include/IceUtil/Thread.h7
-rw-r--r--cpp/src/IceUtil/Thread.cpp5
2 files changed, 12 insertions, 0 deletions
diff --git a/cpp/include/IceUtil/Thread.h b/cpp/include/IceUtil/Thread.h
index a3fab31c5c9..b332d43fb4a 100644
--- a/cpp/include/IceUtil/Thread.h
+++ b/cpp/include/IceUtil/Thread.h
@@ -89,10 +89,17 @@ private:
class ICE_UTIL_API Thread : virtual public IceUtil::Shared
{
public:
+#ifdef _WIN32
+ typedef unsigned ThreadId;
+#else
+ typedef pthread_t ThreadId;
+#endif
Thread();
virtual ~Thread();
+ pthread_t id() const;
+
virtual void run() = 0;
ThreadControl start();
diff --git a/cpp/src/IceUtil/Thread.cpp b/cpp/src/IceUtil/Thread.cpp
index d26ce987e8a..42fed3cb301 100644
--- a/cpp/src/IceUtil/Thread.cpp
+++ b/cpp/src/IceUtil/Thread.cpp
@@ -99,6 +99,11 @@ IceUtil::Thread::~Thread()
{
}
+IceUtil::Thread::id() const
+{
+ return _id;
+}
+
static void*
startHook(void* arg)
{