summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2009-04-24 13:55:37 -0230
committerDwayne Boone <dwayne@zeroc.com>2009-04-24 13:55:37 -0230
commitb7781c854fc8dc9c02f8abe363c46b8f4f28e859 (patch)
tree4915ec5588dc04bc8f7f99740d1062e4a1898296 /cpp/src
parentBug 3811 - unsubstitued verion strings in READMES (diff)
downloadice-b7781c854fc8dc9c02f8abe363c46b8f4f28e859.tar.bz2
ice-b7781c854fc8dc9c02f8abe363c46b8f4f28e859.tar.xz
ice-b7781c854fc8dc9c02f8abe363c46b8f4f28e859.zip
Bug 2812 - add abilty to name thread
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Freeze/BackgroundSaveEvictorI.cpp2
-rw-r--r--cpp/src/Freeze/SharedDbEnv.cpp1
-rw-r--r--cpp/src/Glacier2/RequestQueue.cpp1
-rw-r--r--cpp/src/Glacier2/SessionRouterI.cpp1
-rw-r--r--cpp/src/Ice/EndpointI.cpp1
-rw-r--r--cpp/src/Ice/GC.cpp3
-rw-r--r--cpp/src/Ice/SelectorThread.cpp1
-rw-r--r--cpp/src/Ice/Service.cpp1
-rw-r--r--cpp/src/Ice/ThreadPool.cpp1
-rw-r--r--cpp/src/IceGrid/Activator.cpp1
-rw-r--r--cpp/src/IceGrid/Client.cpp1
-rw-r--r--cpp/src/IceGrid/PlatformInfo.cpp4
-rw-r--r--cpp/src/IceGrid/ReapThread.cpp1
-rw-r--r--cpp/src/IceGrid/SessionManager.h1
-rw-r--r--cpp/src/IceGrid/WaitQueue.cpp4
-rw-r--r--cpp/src/IceUtil/Thread.cpp36
-rw-r--r--cpp/src/IceUtil/Timer.cpp4
17 files changed, 60 insertions, 4 deletions
diff --git a/cpp/src/Freeze/BackgroundSaveEvictorI.cpp b/cpp/src/Freeze/BackgroundSaveEvictorI.cpp
index a6ddfea7a67..996ff8b0b46 100644
--- a/cpp/src/Freeze/BackgroundSaveEvictorI.cpp
+++ b/cpp/src/Freeze/BackgroundSaveEvictorI.cpp
@@ -87,6 +87,7 @@ handleFatalError(const Freeze::BackgroundSaveEvictorPtr& evictor, const Ice::Com
//
Freeze::WatchDogThread::WatchDogThread(long timeout, BackgroundSaveEvictorI& evictor) :
+ Thread("Freeze background save evictor watchdog thread"),
_timeout(IceUtil::Time::milliSeconds(timeout)),
_evictor(evictor),
_done(false),
@@ -153,6 +154,7 @@ Freeze::BackgroundSaveEvictorI::BackgroundSaveEvictorI(const ObjectAdapterPtr& a
const ServantInitializerPtr& initializer,
const vector<IndexPtr>& indices,
bool createDb) :
+ Thread("Freeze background save evictor thread"),
EvictorI<BackgroundSaveEvictorElement>(adapter, envName, dbEnv, filename, FacetTypeMap(), initializer, indices, createDb),
_currentEvictorSize(0),
_savingThreadDone(false)
diff --git a/cpp/src/Freeze/SharedDbEnv.cpp b/cpp/src/Freeze/SharedDbEnv.cpp
index b163fbe3d6d..1763ab688a6 100644
--- a/cpp/src/Freeze/SharedDbEnv.cpp
+++ b/cpp/src/Freeze/SharedDbEnv.cpp
@@ -620,6 +620,7 @@ Freeze::SharedDbEnv::cleanup()
Freeze::CheckpointThread::CheckpointThread(SharedDbEnv& dbEnv, const Time& checkpointPeriod, Int kbyte, Int trace) :
+ Thread("Freeze checkpoint thread"),
_dbEnv(dbEnv),
_done(false),
_checkpointPeriod(checkpointPeriod),
diff --git a/cpp/src/Glacier2/RequestQueue.cpp b/cpp/src/Glacier2/RequestQueue.cpp
index 2113dc3faa2..716e66144ef 100644
--- a/cpp/src/Glacier2/RequestQueue.cpp
+++ b/cpp/src/Glacier2/RequestQueue.cpp
@@ -283,6 +283,7 @@ Glacier2::RequestQueue::flushRequests(set<Ice::ObjectPrx>& batchProxies)
}
Glacier2::RequestQueueThread::RequestQueueThread(const IceUtil::Time& sleepTime) :
+ Thread("Glacier2 request queue thread"),
_sleepTime(sleepTime),
_destroy(false),
_sleep(false)
diff --git a/cpp/src/Glacier2/SessionRouterI.cpp b/cpp/src/Glacier2/SessionRouterI.cpp
index 9bc16b9b66c..2bf505aea09 100644
--- a/cpp/src/Glacier2/SessionRouterI.cpp
+++ b/cpp/src/Glacier2/SessionRouterI.cpp
@@ -1173,6 +1173,7 @@ Glacier2::SessionRouterI::finishCreateSession(const ConnectionPtr& connection, c
Glacier2::SessionRouterI::SessionThread::SessionThread(const SessionRouterIPtr& sessionRouter,
const IceUtil::Time& sessionTimeout) :
+ Thread("Glacier2 session thread"),
_sessionRouter(sessionRouter),
_sessionTimeout(sessionTimeout)
{
diff --git a/cpp/src/Ice/EndpointI.cpp b/cpp/src/Ice/EndpointI.cpp
index 41387f6511b..ed96ae5774d 100644
--- a/cpp/src/Ice/EndpointI.cpp
+++ b/cpp/src/Ice/EndpointI.cpp
@@ -30,6 +30,7 @@ IceInternal::EndpointI::connectors(const vector<struct sockaddr_storage>& addrs)
}
IceInternal::EndpointHostResolver::EndpointHostResolver(const InstancePtr& instance) :
+ Thread("Ice endpoint host resolver thread"),
_instance(instance),
_destroyed(false)
{
diff --git a/cpp/src/Ice/GC.cpp b/cpp/src/Ice/GC.cpp
index a36d9ecccac..139b61bddd1 100644
--- a/cpp/src/Ice/GC.cpp
+++ b/cpp/src/Ice/GC.cpp
@@ -141,7 +141,8 @@ IceInternal::GCShared::__gcDecRef()
//
-IceInternal::GC::GC(int interval, StatsCallback cb)
+IceInternal::GC::GC(int interval, StatsCallback cb) :
+ Thread("Ice garbage collector thread")
{
StaticMutex::Lock sync(numCollectorsMutex);
if(numCollectors++ > 0)
diff --git a/cpp/src/Ice/SelectorThread.cpp b/cpp/src/Ice/SelectorThread.cpp
index 4c740810c69..8b1c815f7af 100644
--- a/cpp/src/Ice/SelectorThread.cpp
+++ b/cpp/src/Ice/SelectorThread.cpp
@@ -267,6 +267,7 @@ IceInternal::SelectorThread::run()
}
IceInternal::SelectorThread::HelperThread::HelperThread(const SelectorThreadPtr& selectorThread) :
+ IceUtil::Thread("Ice selector thread"),
_selectorThread(selectorThread)
{
}
diff --git a/cpp/src/Ice/Service.cpp b/cpp/src/Ice/Service.cpp
index 44009d2dfd8..6dd08b6e386 100644
--- a/cpp/src/Ice/Service.cpp
+++ b/cpp/src/Ice/Service.cpp
@@ -112,6 +112,7 @@ private:
public:
StatusThread(ServiceStatusManager* manager) :
+ Thread("Ice service status manager thread"),
_manager(manager)
{
}
diff --git a/cpp/src/Ice/ThreadPool.cpp b/cpp/src/Ice/ThreadPool.cpp
index 1d2352d2439..11c08dc63a9 100644
--- a/cpp/src/Ice/ThreadPool.cpp
+++ b/cpp/src/Ice/ThreadPool.cpp
@@ -767,6 +767,7 @@ IceInternal::ThreadPool::read(const EventHandlerPtr& handler)
}
IceInternal::ThreadPool::EventHandlerThread::EventHandlerThread(const ThreadPoolPtr& pool) :
+ Thread(pool->_prefix + " thread"),
_pool(pool)
{
}
diff --git a/cpp/src/IceGrid/Activator.cpp b/cpp/src/IceGrid/Activator.cpp
index b8dcf74b241..00a34e7b66d 100644
--- a/cpp/src/IceGrid/Activator.cpp
+++ b/cpp/src/IceGrid/Activator.cpp
@@ -50,6 +50,7 @@ class TerminationListenerThread : public IceUtil::Thread
public:
TerminationListenerThread(Activator& activator) :
+ IceUtil::Thread("IceGrid termination listener thread"),
_activator(activator)
{
}
diff --git a/cpp/src/IceGrid/Client.cpp b/cpp/src/IceGrid/Client.cpp
index cba7349ad0b..29ee4a29a6a 100644
--- a/cpp/src/IceGrid/Client.cpp
+++ b/cpp/src/IceGrid/Client.cpp
@@ -45,6 +45,7 @@ class SessionKeepAliveThread : public IceUtil::Thread, public IceUtil::Monitor<I
public:
SessionKeepAliveThread(const AdminSessionPrx& session, long timeout) :
+ IceUtil::Thread("IceGrid admin session keepalive thread"),
_session(session),
_timeout(IceUtil::Time::seconds(timeout)),
_destroy(false)
diff --git a/cpp/src/IceGrid/PlatformInfo.cpp b/cpp/src/IceGrid/PlatformInfo.cpp
index d8c23038fc8..e811cfba5c9 100644
--- a/cpp/src/IceGrid/PlatformInfo.cpp
+++ b/cpp/src/IceGrid/PlatformInfo.cpp
@@ -80,7 +80,9 @@ class UpdateUtilizationAverageThread : public IceUtil::Thread
{
public:
- UpdateUtilizationAverageThread(PlatformInfo& platform) : _platform(platform)
+ UpdateUtilizationAverageThread(PlatformInfo& platform) :
+ IceUtil::Thread("IceGrid update utilization average thread"),
+ _platform(platform)
{
}
diff --git a/cpp/src/IceGrid/ReapThread.cpp b/cpp/src/IceGrid/ReapThread.cpp
index 42483b29d2b..782b2610f5c 100644
--- a/cpp/src/IceGrid/ReapThread.cpp
+++ b/cpp/src/IceGrid/ReapThread.cpp
@@ -14,6 +14,7 @@ using namespace std;
using namespace IceGrid;
ReapThread::ReapThread() :
+ Thread("Icegrid reaper thread"),
_terminated(false)
{
}
diff --git a/cpp/src/IceGrid/SessionManager.h b/cpp/src/IceGrid/SessionManager.h
index 232bad71300..de3ffe5296f 100644
--- a/cpp/src/IceGrid/SessionManager.h
+++ b/cpp/src/IceGrid/SessionManager.h
@@ -43,6 +43,7 @@ class SessionKeepAliveThread : public IceUtil::Thread, public IceUtil::Monitor<I
public:
SessionKeepAliveThread(const InternalRegistryPrx& registry, const Ice::LoggerPtr& logger) :
+ Thread("IceGrid session keepalive thread"),
_registry(registry),
_logger(logger),
_state(InProgress),
diff --git a/cpp/src/IceGrid/WaitQueue.cpp b/cpp/src/IceGrid/WaitQueue.cpp
index 7c4b74ea854..88024d0bc57 100644
--- a/cpp/src/IceGrid/WaitQueue.cpp
+++ b/cpp/src/IceGrid/WaitQueue.cpp
@@ -33,7 +33,9 @@ WaitItem::setExpirationTime(const IceUtil::Time& time)
_expiration = time;
}
-WaitQueue::WaitQueue() : _destroyed(false)
+WaitQueue::WaitQueue() :
+ Thread("IceGrid wait queue thread"),
+ _destroyed(false)
{
}
diff --git a/cpp/src/IceUtil/Thread.cpp b/cpp/src/IceUtil/Thread.cpp
index c04f6c07c33..37af697dbb9 100644
--- a/cpp/src/IceUtil/Thread.cpp
+++ b/cpp/src/IceUtil/Thread.cpp
@@ -112,6 +112,15 @@ IceUtil::Thread::Thread() :
{
}
+IceUtil::Thread::Thread(const string& name) :
+ _name(name),
+ _started(false),
+ _running(false),
+ _handle(0),
+ _id(0)
+{
+}
+
IceUtil::Thread::~Thread()
{
}
@@ -151,6 +160,10 @@ WINAPI startHook(void* arg)
}
catch(...)
{
+ if(!thread->name().empty())
+ {
+ cerr << thread->name() << " terminating" << endl;
+ }
#if defined(_MSC_VER) && (_MSC_VER < 1300)
terminate();
#else
@@ -255,6 +268,12 @@ IceUtil::Thread::_done()
_running = false;
}
+const string&
+IceUtil::Thread::name() const
+{
+ return _name;
+}
+
#else
IceUtil::ThreadControl::ThreadControl(pthread_t thread) :
@@ -340,6 +359,13 @@ IceUtil::Thread::Thread() :
{
}
+IceUtil::Thread::Thread(const string& name) :
+ _name(name),
+ _started(false),
+ _running(false)
+{
+}
+
IceUtil::Thread::~Thread()
{
}
@@ -369,6 +395,10 @@ startHook(void* arg)
}
catch(...)
{
+ if(!thread->name().empty())
+ {
+ cerr << thread->name() << " terminating" << endl;
+ }
std::terminate();
}
@@ -495,4 +525,10 @@ IceUtil::Thread::_done()
_running = false;
}
+const string&
+IceUtil::Thread::name() const
+{
+ return _name;
+}
+
#endif
diff --git a/cpp/src/IceUtil/Timer.cpp b/cpp/src/IceUtil/Timer.cpp
index 7416895b050..41200f5648b 100644
--- a/cpp/src/IceUtil/Timer.cpp
+++ b/cpp/src/IceUtil/Timer.cpp
@@ -13,7 +13,9 @@
using namespace std;
using namespace IceUtil;
-Timer::Timer() : _destroyed(false)
+Timer::Timer() :
+ Thread("IceUtil timer thread"),
+ _destroyed(false)
{
__setNoDelete(true);
start();