From 4eab3ca9bf020df2bb53fa2a36aa4f57d684225c Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期三, 07 八月 2019 17:25:03 +0800 Subject: [PATCH] add rec notify, try catch --- csrc/buz/recorder.cpp | 35 ++++++++++++++--------------------- 1 files changed, 14 insertions(+), 21 deletions(-) diff --git a/csrc/buz/recorder.cpp b/csrc/buz/recorder.cpp index eee5332..1dd71ab 100644 --- a/csrc/buz/recorder.cpp +++ b/csrc/buz/recorder.cpp @@ -37,28 +37,21 @@ } Recorder::~Recorder(){ - // if (out_){ - // stop_recorder_.store(true); - // cv_.notify_one(); - // int try_cnt = 0; - // while(stop_recorder_.load()){ - // logIt("REC WAIT TO QUIT ID %s", id_.c_str()); - // if (try_cnt > 100){ - // logIt("REC TRY %d TIMES TO QUIT..., BREAK!!!", try_cnt); - // break; - // } - // try_cnt++; - // sleep(1); - // } - // }else if (stop_recorder_.load()){ - // logIt("REC NORMAL QUIT"); - // } - if (thrd_){ - stop_recorder_.store(true); - thrd_->join(); - logIt("REC THREAD JOINED, QUIT!!!"); + try + { + if (thrd_){ + stop_recorder_.store(true); + cv_.notify_one(); + thrd_->join(); + logIt("REC THREAD JOINED, QUIT!!!"); + } } + catch(const std::exception& e) + { + logIt("RECODER DESTRUCTOR EXCEPTION: ", e.what()); + } + } int Recorder::init_writer(){ @@ -278,4 +271,4 @@ } } } -} \ No newline at end of file +} -- Gitblit v1.8.0