diff options
author | Matthew Newhook <matthew@zeroc.com> | 2002-02-12 17:12:29 +0000 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2002-02-12 17:12:29 +0000 |
commit | 4a9851b86fc52af5b629bf06d7a83d29da15d98f (patch) | |
tree | c38cd4704a983377274bafeb70f2eebc68aba600 /cpp/src | |
parent | adding IceXML (diff) | |
download | ice-4a9851b86fc52af5b629bf06d7a83d29da15d98f.tar.bz2 ice-4a9851b86fc52af5b629bf06d7a83d29da15d98f.tar.xz ice-4a9851b86fc52af5b629bf06d7a83d29da15d98f.zip |
Fix some TODO's in IceUtil. IceStorm now uses the new Logger utils.
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/IceStorm/Flusher.cpp | 6 | ||||
-rw-r--r-- | cpp/src/IceStorm/LinkSubscriber.cpp | 25 | ||||
-rw-r--r-- | cpp/src/IceStorm/OnewayBatchSubscriber.cpp | 10 | ||||
-rw-r--r-- | cpp/src/IceStorm/OnewaySubscriber.cpp | 10 | ||||
-rw-r--r-- | cpp/src/IceStorm/SubscriberFactory.cpp | 5 | ||||
-rw-r--r-- | cpp/src/IceStorm/TopicI.cpp | 40 | ||||
-rw-r--r-- | cpp/src/IceUtil/Cond.cpp | 82 | ||||
-rw-r--r-- | cpp/src/IceUtil/Thread.cpp | 13 |
8 files changed, 133 insertions, 58 deletions
diff --git a/cpp/src/IceStorm/Flusher.cpp b/cpp/src/IceStorm/Flusher.cpp index 4eb75a14170..60eaf240ee7 100644 --- a/cpp/src/IceStorm/Flusher.cpp +++ b/cpp/src/IceStorm/Flusher.cpp @@ -150,10 +150,8 @@ private: // if (_traceLevels->flush > 0) { - ostringstream s; - s << _subscribers.size() << " object(s)"; - - _traceLevels->logger->trace(_traceLevels->flushCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->flushCat); + out << _subscribers.size() << " object(s)"; } } diff --git a/cpp/src/IceStorm/LinkSubscriber.cpp b/cpp/src/IceStorm/LinkSubscriber.cpp index 61be860b1b7..b04cfd8f9cc 100644 --- a/cpp/src/IceStorm/LinkSubscriber.cpp +++ b/cpp/src/IceStorm/LinkSubscriber.cpp @@ -48,9 +48,8 @@ LinkSubscriber::unsubscribe() if (_traceLevels->subscriber > 0) { - ostringstream s; - s << "Unsubscribe " << _obj->ice_getIdentity(); - _traceLevels->logger->trace(_traceLevels->subscriberCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->subscriberCat); + out << "Unsubscribe " << _obj->ice_getIdentity(); } } @@ -79,18 +78,16 @@ LinkSubscriber::publish(const Event& event) if (_traceLevels->subscriber > 0) { - ostringstream s; - s << _obj->ice_getIdentity() << ": link topic publish failed: " << e; - _traceLevels->logger->trace(_traceLevels->subscriberCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->subscriberCat); + out << _obj->ice_getIdentity() << ": link topic publish failed: " << e; } } catch(const Ice::LocalException& e) { if (_traceLevels->subscriber > 0) { - ostringstream s; - s << _obj->ice_getIdentity() << ": link topic publish failed: " << e; - _traceLevels->logger->trace(_traceLevels->subscriberCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->subscriberCat); + out << _obj->ice_getIdentity() << ": link topic publish failed: " << e; } } } @@ -112,18 +109,16 @@ LinkSubscriber::flush() if (_traceLevels->subscriber > 0) { - ostringstream s; - s << _obj->ice_getIdentity() << ": link topic flush failed: " << e; - _traceLevels->logger->trace(_traceLevels->subscriberCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->subscriberCat); + out << _obj->ice_getIdentity() << ": link topic flush failed: " << e; } } catch(const Ice::LocalException& e) { if (_traceLevels->subscriber > 0) { - ostringstream s; - s << _obj->ice_getIdentity() << ": link topic flush failed: " << e; - _traceLevels->logger->trace(_traceLevels->subscriberCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->subscriberCat); + out << _obj->ice_getIdentity() << ": link topic flush failed: " << e; } } } diff --git a/cpp/src/IceStorm/OnewayBatchSubscriber.cpp b/cpp/src/IceStorm/OnewayBatchSubscriber.cpp index cdb7d9ef807..4a9915af023 100644 --- a/cpp/src/IceStorm/OnewayBatchSubscriber.cpp +++ b/cpp/src/IceStorm/OnewayBatchSubscriber.cpp @@ -37,9 +37,8 @@ OnewayBatchSubscriber::unsubscribe() if (_traceLevels->subscriber > 0) { - ostringstream s; - s << "Unsubscribe " << _obj->ice_getIdentity(); - _traceLevels->logger->trace(_traceLevels->subscriberCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->subscriberCat); + out << "Unsubscribe " << _obj->ice_getIdentity(); } // @@ -74,9 +73,8 @@ OnewayBatchSubscriber::flush() { if (_traceLevels->subscriber > 0) { - ostringstream s; - s << _obj->ice_getIdentity() << ": flush failed: " << e; - _traceLevels->logger->trace(_traceLevels->subscriberCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->subscriberCat); + out << _obj->ice_getIdentity() << ": flush failed: " << e; } _state = StateError; } diff --git a/cpp/src/IceStorm/OnewaySubscriber.cpp b/cpp/src/IceStorm/OnewaySubscriber.cpp index c921c463e7b..b1007792355 100644 --- a/cpp/src/IceStorm/OnewaySubscriber.cpp +++ b/cpp/src/IceStorm/OnewaySubscriber.cpp @@ -40,9 +40,8 @@ OnewaySubscriber::unsubscribe() if (_traceLevels->subscriber > 0) { - ostringstream s; - s << "Unsubscribe " << _obj->ice_getIdentity(); - _traceLevels->logger->trace(_traceLevels->subscriberCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->subscriberCat); + out << "Unsubscribe " << _obj->ice_getIdentity(); } } @@ -66,9 +65,8 @@ OnewaySubscriber::publish(const Event& event) { if (_traceLevels->subscriber > 0) { - ostringstream s; - s << _obj->ice_getIdentity() << ": publish failed: " << e; - _traceLevels->logger->trace(_traceLevels->subscriberCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->subscriberCat); + out << _obj->ice_getIdentity() << ": publish failed: " << e; } _state = StateError; } diff --git a/cpp/src/IceStorm/SubscriberFactory.cpp b/cpp/src/IceStorm/SubscriberFactory.cpp index bb901fad200..e2e7c6c6754 100644 --- a/cpp/src/IceStorm/SubscriberFactory.cpp +++ b/cpp/src/IceStorm/SubscriberFactory.cpp @@ -56,9 +56,8 @@ SubscriberFactory::createSubscriber(const QoS& qos, const Ice::ObjectPrx& obj) { if (_traceLevels->subscriber > 0) { - ostringstream s; - s << reliability <<" mode not understood."; - _traceLevels->logger->trace(_traceLevels->subscriberCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->subscriberCat); + out << reliability <<" mode not understood."; } } return new OnewaySubscriber(_traceLevels, obj->ice_oneway()); diff --git a/cpp/src/IceStorm/TopicI.cpp b/cpp/src/IceStorm/TopicI.cpp index 84b73f93230..1e35b5d9308 100644 --- a/cpp/src/IceStorm/TopicI.cpp +++ b/cpp/src/IceStorm/TopicI.cpp @@ -145,9 +145,8 @@ public: { if (_traceLevels->topic > 0) { - ostringstream s; - s << id << ": not subscribed."; - _traceLevels->logger->trace(_traceLevels->topicCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->topicCat); + out << id << ": not subscribed."; } } } @@ -334,9 +333,8 @@ TopicI::TopicI(const Ice::ObjectAdapterPtr& adapter, const TraceLevelsPtr& trace { if (_traceLevels->topic > 0) { - ostringstream s; - s << _name << " relink " << p->second.obj->ice_getIdentity(); - _traceLevels->logger->trace(_traceLevels->topicCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->topicCat); + out << _name << " relink " << p->second.obj->ice_getIdentity(); } SubscriberPtr subscriber = _factory->createLinkSubscriber(p->second.obj, p->second.info.cost); @@ -383,9 +381,8 @@ TopicI::destroy(const Ice::Current&) if (_traceLevels->topic > 0) { - ostringstream s; - s << "destroying " << id; - _traceLevels->logger->trace(_traceLevels->topicCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->topicCat); + out << "destroying " << id; } _adapter->remove(id); @@ -409,9 +406,8 @@ TopicI::link(const TopicPrx& topic, Ice::Int cost, const Ice::Current&) string name = topic->getName(); if (_traceLevels->topic > 0) { - ostringstream s; - s << _name << " link " << name << " cost " << cost; - _traceLevels->logger->trace(_traceLevels->topicCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->topicCat); + out << _name << " link " << name << " cost " << cost; } // @@ -465,9 +461,8 @@ TopicI::unlink(const TopicPrx& topic, const Ice::Current&) { if (_traceLevels->topic > 0) { - ostringstream s; - s << _name << " unlink " << topic->getName(); - _traceLevels->logger->trace(_traceLevels->topicCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->topicCat); + out << _name << " unlink " << topic->getName(); } _subscribers->unsubscribe(link->ice_getIdentity()); } @@ -475,9 +470,8 @@ TopicI::unlink(const TopicPrx& topic, const Ice::Current&) { if (_traceLevels->topic > 0) { - ostringstream s; - s << _name << " unlink " << topic->getName() << " failed - not linked"; - _traceLevels->logger->trace(_traceLevels->topicCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->topicCat); + out << _name << " unlink " << topic->getName() << " failed - not linked"; } } } @@ -597,18 +591,16 @@ TopicI::reap() { if (_traceLevels->topic > 0) { - ostringstream s; - s << "reaping " << subscriber->id(); - _traceLevels->logger->trace(_traceLevels->topicCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->topicCat); + out << "reaping " << subscriber->id(); } } else { if (_traceLevels->topic > 0) { - ostringstream s; - s << "reaping " << subscriber->id() << " failed - not in database"; - _traceLevels->logger->trace(_traceLevels->topicCat, s.str()); + Ice::Trace out(_traceLevels->logger, _traceLevels->topicCat); + out << "reaping " << subscriber->id() << " failed - not in database"; } } } diff --git a/cpp/src/IceUtil/Cond.cpp b/cpp/src/IceUtil/Cond.cpp index 807295d2441..9487e590931 100644 --- a/cpp/src/IceUtil/Cond.cpp +++ b/cpp/src/IceUtil/Cond.cpp @@ -80,6 +80,88 @@ IceUtil::Cond::broadcast() } void +IceUtil::Cond::waitImpl(const RecMutex& mutex) const +{ + preWait(); + + RecMutex::LockState state; + mutex.unlock(state); + + try + { + dowait(-1); + mutex.lock(state); + } + catch(...) + { + mutex.lock(state); + throw; + } +} + +void +IceUtil::Cond::waitImpl(const Mutex& mutex) const +{ + preWait(); + + Mutex::LockState state; + mutex.unlock(state); + + try + { + dowait(-1); + mutex.lock(state); + } + catch(...) + { + mutex.lock(state); + throw; + } +} + +bool +IceUtil::Cond::timedwaitImpl(const RecMutex& mutex, long msec) const +{ + preWait(); + + RecMutex::LockState state; + mutex.unlock(state); + + try + { + bool rc = dowait(msec); + mutex.lock(state); + return rc; + } + catch(...) + { + mutex.lock(state); + throw; + } +} + +bool +IceUtil::Cond::timedwaitImpl(const Mutex& mutex, long msec) const +{ + preWait(); + + Mutex::LockState state; + mutex.unlock(state); + + try + { + bool rc = dowait(msec); + mutex.lock(state); + return rc; + } + catch(...) + { + mutex.lock(state); + throw; + } +} + +void IceUtil::Cond::wake(bool broadcast) { // diff --git a/cpp/src/IceUtil/Thread.cpp b/cpp/src/IceUtil/Thread.cpp index f2121a1e45c..63ba6ddbdc7 100644 --- a/cpp/src/IceUtil/Thread.cpp +++ b/cpp/src/IceUtil/Thread.cpp @@ -15,6 +15,19 @@ using namespace std; #ifdef WIN32 +IceUtil::HandleWrapper::HandleWrapper(HANDLE h) : + handle(h) +{ +} + +IceUtil::HandleWrapper::~HandleWrapper() +{ + if (handle != 0) + { + CloseHandle(handle); + } +} + IceUtil::ThreadControl::ThreadControl() : _handle(new HandleWrapper(0)), _id(GetCurrentThreadId()) |