summaryrefslogtreecommitdiffstats
path: root/src/test/bench_log.cc
diff options
context:
space:
mode:
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>2014-10-28 20:06:25 +0100
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>2014-11-11 13:26:37 +0100
commit04517f0dc2f582a7abc05a2dceface80b98a1fbf (patch)
tree3c2bda2716e2a071aa6e704e624f58ece397d6b4 /src/test/bench_log.cc
parentosd/PGLog.cc: prefer empty() over size() for emptiness check (diff)
downloadceph-04517f0dc2f582a7abc05a2dceface80b98a1fbf.tar.xz
ceph-04517f0dc2f582a7abc05a2dceface80b98a1fbf.zip
bench_log.cc: catch ceph::FailedAssertion exception
Fix for: CID 717177 (#2-1 of 3): Uncaught exception (UNCAUGHT_EXCEPT) root_function: In function main(int, char const **) an exception of type ceph::FailedAssertion is thrown and never caught. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Diffstat (limited to 'src/test/bench_log.cc')
-rw-r--r--src/test/bench_log.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/test/bench_log.cc b/src/test/bench_log.cc
index 425f3986ce6..774cf553d04 100644
--- a/src/test/bench_log.cc
+++ b/src/test/bench_log.cc
@@ -53,7 +53,14 @@ int main(int argc, const char **argv)
for (int i=0; i<threads; i++) {
T *t = ls.front();
ls.pop_front();
- t->join();
+ try {
+ t->join();
+ }
+ catch (ceph::FailedAssertion &a) {
+ cout << "Failed assert in join(), exit." << std::endl;
+ delete t;
+ return -1;
+ }
delete t;
}