summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConlain Kelly <conlain.k@gmail.com>2018-07-18 15:14:34 -0400
committerConlain Kelly <conlain.k@gmail.com>2018-07-18 15:14:34 -0400
commitc96b488f0a5c6f114016ab9c013a347b5257d7d9 (patch)
tree88e74380b46f4c3bf782053e717ece1a644ae186
parentadba01da38c865370d378eb2f0d237543a5b12d4 (diff)
downloadsdl_core-c96b488f0a5c6f114016ab9c013a347b5257d7d9.tar.gz
maybe final cleanup
-rw-r--r--src/components/utils/src/conditional_variable_boost.cc51
1 files changed, 25 insertions, 26 deletions
diff --git a/src/components/utils/src/conditional_variable_boost.cc b/src/components/utils/src/conditional_variable_boost.cc
index 109e2bac9b..f1c23c13a4 100644
--- a/src/components/utils/src/conditional_variable_boost.cc
+++ b/src/components/utils/src/conditional_variable_boost.cc
@@ -64,30 +64,30 @@ bool ConditionalVariable::Wait(BaseLock& lock) {
// superclass
lock.AssertTakenAndMarkFree();
- // try {
- // What kind of lock are we ?
- if (Lock* test_lock = dynamic_cast<Lock*>(&lock)) {
- // Regular lock
- cond_var_.wait<boost::mutex>(test_lock->mutex_);
- } else if (RecursiveLock* test_rec_lock =
- dynamic_cast<RecursiveLock*>(&lock)) {
- // Recursive lock
- cond_var_.wait<boost::recursive_mutex>(test_rec_lock->mutex_);
- } else {
- // unknown
+ try {
+ // What kind of lock are we ?
+ if (Lock* test_lock = dynamic_cast<Lock*>(&lock)) {
+ // Regular lock
+ cond_var_.wait<boost::mutex>(test_lock->mutex_);
+ } else if (RecursiveLock* test_rec_lock =
+ dynamic_cast<RecursiveLock*>(&lock)) {
+ // Recursive lock
+ cond_var_.wait<boost::recursive_mutex>(test_rec_lock->mutex_);
+ } else {
+ // unknown
+ lock.AssertFreeAndMarkTaken();
+
+ LOG4CXX_ERROR(logger_, "Unknown lock type!");
+ return false;
+ }
+ } catch (std::exception err) {
lock.AssertFreeAndMarkTaken();
- LOG4CXX_ERROR(logger_, "Unknown lock type!");
+ LOG4CXX_ERROR(
+ logger_,
+ "Failed to wait for conditional variable, exception:" << err.what());
return false;
}
- // } catch (std::exception err) {
- // lock.AssertFreeAndMarkTaken();
- //
- // LOG4CXX_ERROR(
- // logger_,
- // "Failed to wait for conditional variable, exception:" << err.what());
- // return false;
- // }
lock.AssertFreeAndMarkTaken();
return true;
@@ -129,13 +129,12 @@ ConditionalVariable::WaitStatus ConditionalVariable::WaitFor(
}
} catch (boost::thread_interrupted inter) {
wait_status = kNoTimeout;
+ } catch (std::exception err) {
+ LOG4CXX_ERROR(
+ logger_,
+ "Failed to timewait for conditional variable timedwait_status: "
+ << err.what());
}
- // catch (std::exception err) {
- // LOG4CXX_ERROR(
- // logger_,
- // "Failed to timewait for conditional variable timedwait_status: "
- // << err.what());
- // }
lock.AssertFreeAndMarkTaken();
return wait_status;